feat: add DeepSeek extreme reasoning tier
This commit is contained in:
@@ -962,3 +962,59 @@ def test_tool_events_render_one_friendly_completed_card() -> None:
|
||||
assert 'name="执行命令"' in rendered
|
||||
assert "2 passed" in rendered
|
||||
assert 'done="false"' not in rendered
|
||||
|
||||
|
||||
async def test_extreme_tier_preserves_reasoning_state_across_tool_turns(settings) -> None:
|
||||
provider = ScriptedProvider(
|
||||
[
|
||||
{
|
||||
"choices": [
|
||||
{
|
||||
"message": {
|
||||
"role": "assistant",
|
||||
"content": None,
|
||||
"reasoning_content": "provider-private-state",
|
||||
"tool_calls": [tool_call("1", "read_file", {"path": "notes.txt"})],
|
||||
},
|
||||
"finish_reason": "tool_calls",
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"choices": [
|
||||
{
|
||||
"message": {"role": "assistant", "content": "检查完成"},
|
||||
"finish_reason": "stop",
|
||||
}
|
||||
]
|
||||
},
|
||||
]
|
||||
)
|
||||
registry = RecordingRegistry()
|
||||
store = RuntimeStore(settings.database_url)
|
||||
await store.initialize()
|
||||
|
||||
async def callback(event_type, payload):
|
||||
return None
|
||||
|
||||
try:
|
||||
answer = await AgentLoop(provider, registry, store, max_tool_output_chars=10_000).run(
|
||||
spec=get_model_spec("work-extreme"),
|
||||
messages=[{"role": "user", "content": "读取 notes.txt 并检查内容"}],
|
||||
identity=UserIdentity("u1", "", "", "user"),
|
||||
raw_user_jwt="jwt",
|
||||
chat_id="deepseek-reasoning",
|
||||
callback=callback,
|
||||
)
|
||||
finally:
|
||||
await store.close()
|
||||
|
||||
assert answer == "检查完成"
|
||||
assert provider.requests[0]["provider"] == "deepseek"
|
||||
assert provider.requests[0]["reasoning_effort"] == "max"
|
||||
assistant_turn = next(
|
||||
message
|
||||
for message in provider.requests[1]["messages"]
|
||||
if message.get("role") == "assistant" and message.get("tool_calls")
|
||||
)
|
||||
assert assistant_turn["reasoning_content"] == "provider-private-state"
|
||||
|
||||
Reference in New Issue
Block a user