完成和大模型的通信

This commit is contained in:
wandering
2026-06-04 09:58:45 +08:00
parent 37199970c9
commit 580fe4ad6e
13 changed files with 2117 additions and 1820 deletions

View File

@@ -0,0 +1,42 @@
"""分析提示构建函数测试。"""
import sys
from pathlib import Path
sys.path.insert(0, str(Path(__file__).parent.parent / "src"))
from prompt import build_analysis_prompt
class TestBuildAnalysisPrompt:
"""测试分析提示构建函数。"""
def test_basic_prompt(self) -> None:
"""测试基础提示词包含核心结构。"""
prompt = build_analysis_prompt(purpose="", index="")
assert "专业研究分析师" in prompt
assert "关键实体" in prompt
def test_with_purpose(self) -> None:
"""测试传入目的时,提示词包含 Wiki 目的部分。"""
prompt = build_analysis_prompt(purpose="测试目的", index="")
assert "Wiki 目的" in prompt
assert "测试目的" in prompt
def test_with_index(self) -> None:
"""测试传入索引时,提示词包含 Wiki 索引部分。"""
prompt = build_analysis_prompt(purpose="", index="测试索引")
assert "当前 Wiki 索引" in prompt
assert "测试索引" in prompt
def test_empty_content(self) -> None:
"""测试空内容时,可选部分不出现在提示词中。"""
prompt = build_analysis_prompt(purpose="", index="")
assert "Wiki 目的" not in prompt
assert "当前 Wiki 索引" not in prompt
def test_language_from_config(self) -> None:
"""测试语言设置从配置文件读取。"""
prompt = build_analysis_prompt(purpose="", index="", configured_language=None)
assert "使用" in prompt
assert "语言输出分析报告" in prompt