fix(research): support timeout defaults in direct tests (#2624)
fix(research): honor planning query timeouts
This commit is contained in:
@@ -96,3 +96,33 @@ def test_extraction_timeout_allows_long_local_model_runs():
|
||||
)
|
||||
|
||||
assert researcher.extraction_timeout == 1800
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_planning_and_query_generation_use_configured_timeouts():
|
||||
researcher = DeepResearcher(
|
||||
llm_endpoint="http://local.test/v1/chat/completions",
|
||||
llm_model="local-model",
|
||||
planning_timeout=234,
|
||||
query_timeout=345,
|
||||
)
|
||||
captured = []
|
||||
|
||||
async def fake_llm(messages, temperature=0.3, max_tokens=4096, timeout=60):
|
||||
captured.append(timeout)
|
||||
if max_tokens == 1024:
|
||||
return json.dumps({
|
||||
"sub_questions": ["one"],
|
||||
"key_topics": ["topic"],
|
||||
"success_criteria": "complete",
|
||||
})
|
||||
return json.dumps(["query one", "query two"])
|
||||
|
||||
researcher._llm = fake_llm
|
||||
|
||||
plan = await researcher._create_plan("question")
|
||||
queries = await researcher._generate_queries("question", "", 1)
|
||||
|
||||
assert "Sub-questions: one" in plan
|
||||
assert queries == ["query one", "query two"]
|
||||
assert captured == [234, 345]
|
||||
|
||||
Reference in New Issue
Block a user