feat: 新增追问模式和iOS本地化,重构后端输出模型

This commit is contained in:
qzl
2026-04-29 14:26:15 +08:00
parent f497afbff2
commit 16cb47e75a
39 changed files with 1346 additions and 600 deletions
@@ -2,10 +2,7 @@ from __future__ import annotations
from core.agentscope.prompts.agent_prompt import build_agent_prompt
from core.agentscope.prompts.system_prompt import build_system_prompt
from core.agentscope.prompts.user_prompt import (
build_divination_user_prompt,
build_follow_up_user_prompt,
)
from core.agentscope.prompts.user_prompt import build_follow_up_user_prompt
from schemas.agent.system_agent import AgentType, SystemAgentLLMConfig
@@ -17,7 +14,7 @@ def test_system_prompt_safety_has_refusal_rules_en() -> None:
)
assert "<!-- SAFETY_START -->" in prompt
assert "REFUSE IMMEDIATELY" in prompt
assert "-> REFUSE" in prompt
assert "Tarot" in prompt
assert "Ba Zi" in prompt
@@ -30,7 +27,7 @@ def test_system_prompt_safety_has_refusal_rules_zh() -> None:
)
assert "<!-- SAFETY_START -->" in prompt
assert "必须立即拒绝" in prompt
assert "必须拒绝" in prompt
assert "塔罗" in prompt
assert "八字" in prompt
@@ -76,7 +73,7 @@ def test_agent_prompt_keeps_only_identity_and_domain_flow() -> None:
)
assert "focus_points" in prompt
assert "段间用\\n\\n" in prompt
assert "断卦要点" in prompt
assert "[role_playing]" in prompt
assert "[output_json_rules]" in prompt
@@ -99,7 +96,7 @@ def test_system_prompt_requires_paragraph_breaks_for_answer() -> None:
language="zh-CN",
)
assert "段间用\\n\\n" in prompt
assert "具体解析" in prompt
def test_user_prompt_has_language_constraint_en() -> None:
+2 -2
View File
@@ -87,7 +87,7 @@ def test_build_instruction_no_language_constraint_when_none() -> None:
@pytest.mark.asyncio
async def test_finalize_json_response_returns_alias_keys() -> None:
model = _Model(payload={"ganzhi": {"yearGanZhi": "丙午"}})
_, payload = await finalize_json_response(
_, result = await finalize_json_response(
model=model,
formatter=_Formatter(),
base_messages=[],
@@ -95,4 +95,4 @@ async def test_finalize_json_response_returns_alias_keys() -> None:
retries=0,
)
assert payload == {"ganzhi": {"yearGanZhi": "丙午"}}
assert result.model_dump(mode="json", by_alias=True) == {"ganzhi": {"yearGanZhi": "丙午"}}