mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-04-25 00:51:20 +00:00
fix: add missing Responses API parameters for Codex provider
Adds tool_choice, parallel_tool_calls, and prompt_cache_key to the Codex Responses API request kwargs — matching what the official Codex CLI sends. - tool_choice: 'auto' — enables the model to proactively call tools. Without this, the model may default to not using tools, which explains reports of the agent claiming it lacks shell access (#747). - parallel_tool_calls: True — allows the model to issue multiple tool calls in a single turn for efficiency. - prompt_cache_key: session_id — enables server-side prompt caching across turns in the same session, reducing latency and cost. Refs #747
This commit is contained in:
parent
69090d6da1
commit
a82ce60294
2 changed files with 7 additions and 0 deletions
|
|
@ -2340,7 +2340,10 @@ class AIAgent:
|
|||
"instructions": instructions,
|
||||
"input": self._chat_messages_to_responses_input(payload_messages),
|
||||
"tools": self._responses_tools(),
|
||||
"tool_choice": "auto",
|
||||
"parallel_tool_calls": True,
|
||||
"store": False,
|
||||
"prompt_cache_key": self.session_id,
|
||||
}
|
||||
|
||||
if reasoning_enabled:
|
||||
|
|
|
|||
|
|
@ -235,6 +235,10 @@ def test_build_api_kwargs_codex(monkeypatch):
|
|||
assert kwargs["tools"][0]["strict"] is False
|
||||
assert "function" not in kwargs["tools"][0]
|
||||
assert kwargs["store"] is False
|
||||
assert kwargs["tool_choice"] == "auto"
|
||||
assert kwargs["parallel_tool_calls"] is True
|
||||
assert isinstance(kwargs["prompt_cache_key"], str)
|
||||
assert len(kwargs["prompt_cache_key"]) > 0
|
||||
assert "timeout" not in kwargs
|
||||
assert "max_tokens" not in kwargs
|
||||
assert "extra_body" not in kwargs
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue