Skip to content

Commit 33fc4f5

Browse files
committed
fix: invalid model setting when passing prompt to Agent
1 parent f3cac17 commit 33fc4f5

File tree

2 files changed

+34
-1
lines changed

2 files changed

+34
-1
lines changed

src/agents/models/openai_responses.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -306,7 +306,7 @@ async def _fetch_response(
306306
previous_response_id=self._non_null_or_not_given(previous_response_id),
307307
conversation=self._non_null_or_not_given(conversation_id),
308308
instructions=self._non_null_or_not_given(system_instructions),
309-
model=self.model,
309+
model=self.model if prompt is None else NOT_GIVEN,
310310
input=list_input,
311311
include=include,
312312
tools=converted_tools_payload,

tests/test_openai_responses.py

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
from typing import Any
44

55
import pytest
6+
from openai import NOT_GIVEN
67
from openai.types.responses import ResponseCompletedEvent
78

89
from agents import ModelSettings, ModelTracing, __version__
@@ -63,3 +64,35 @@ def __init__(self):
6364

6465
assert "extra_headers" in called_kwargs
6566
assert called_kwargs["extra_headers"]["User-Agent"] == expected_ua
67+
68+
69+
@pytest.mark.allow_call_model_methods
70+
@pytest.mark.asyncio
71+
async def test_prompt_id_omits_model_parameter():
72+
called_kwargs: dict[str, Any] = {}
73+
74+
class DummyResponses:
75+
async def create(self, **kwargs):
76+
nonlocal called_kwargs
77+
called_kwargs = kwargs
78+
return get_response_obj([])
79+
80+
class DummyResponsesClient:
81+
def __init__(self):
82+
self.responses = DummyResponses()
83+
84+
model = OpenAIResponsesModel(model="gpt-4", openai_client=DummyResponsesClient()) # type: ignore[arg-type]
85+
86+
await model.get_response(
87+
system_instructions=None,
88+
input="hi",
89+
model_settings=ModelSettings(),
90+
tools=[],
91+
output_schema=None,
92+
handoffs=[],
93+
tracing=ModelTracing.DISABLED,
94+
prompt={"id": "pmpt_123"},
95+
)
96+
97+
assert called_kwargs["prompt"] == {"id": "pmpt_123"}
98+
assert called_kwargs["model"] is NOT_GIVEN

0 commit comments

Comments
 (0)