mirror of
https://github.com/pewdiepie-archdaemon/odysseus.git
synced 2026-11-06 13:12:27 +01:00
preserve output budget for artifact body recovery
This commit is contained in:
@@ -4393,10 +4393,11 @@ async def stream_preview(*, endpoint_url, model, messages, headers, turn_contrac
|
|||||||
retrievals=successful_web_retrievals,
|
retrievals=successful_web_retrievals,
|
||||||
search_limit=2,
|
search_limit=2,
|
||||||
)
|
)
|
||||||
round_max_tokens = (
|
# Thinking providers can consume several thousand tokens before
|
||||||
min(request_max_tokens, 4096)
|
# emitting the requested body. Reusing the configured output
|
||||||
if artifact_body_handoff_target else request_max_tokens
|
# budget avoids a reasoning-only response that leaves the
|
||||||
)
|
# required artifact unwritten.
|
||||||
|
round_max_tokens = request_max_tokens
|
||||||
request = {'model': model, 'messages': request_messages, 'temperature': temperature,
|
request = {'model': model, 'messages': request_messages, 'temperature': temperature,
|
||||||
'max_tokens': round_max_tokens, 'stream': True,
|
'max_tokens': round_max_tokens, 'stream': True,
|
||||||
'stream_options': {'include_usage': True},
|
'stream_options': {'include_usage': True},
|
||||||
|
|||||||
@@ -613,7 +613,7 @@ async def test_repeated_off_contract_calls_recover_via_required_artifact_body(mo
|
|||||||
'completion_requirements': {
|
'completion_requirements': {
|
||||||
'required_artifacts': ['/workspace/output.html'],
|
'required_artifacts': ['/workspace/output.html'],
|
||||||
},
|
},
|
||||||
}, max_rounds=5,
|
}, max_tokens=8192, max_rounds=5,
|
||||||
)]
|
)]
|
||||||
|
|
||||||
assert [block.tool_type for block in executed] == ['write_file']
|
assert [block.tool_type for block in executed] == ['write_file']
|
||||||
@@ -622,6 +622,8 @@ async def test_repeated_off_contract_calls_recover_via_required_artifact_body(mo
|
|||||||
if message.get('role') == 'assistant' and message.get('tool_calls')
|
if message.get('role') == 'assistant' and message.get('tool_calls')
|
||||||
)
|
)
|
||||||
assert prior_tool_turn['reasoning_content'] == 'reasoning-one'
|
assert prior_tool_turn['reasoning_content'] == 'reasoning-one'
|
||||||
|
assert requests[2]['max_tokens'] == 8192
|
||||||
|
assert requests[3]['max_tokens'] == 8192
|
||||||
assert executed[0].content == (
|
assert executed[0].content == (
|
||||||
'/workspace/output.html\n<html><body>Recovered</body></html>'
|
'/workspace/output.html\n<html><body>Recovered</body></html>'
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user