Python: [BREAKING] parameter naming and other fixes (#1255)

* parameter naming and other fixes

* fix test

* fix azure openai responses decorator ordering

* fix test

* fix mypy

* fixes in options handling

* fix tests

* final fixes

* exclude macos tests

* fix model param
This commit is contained in:
Eduard van Valkenburg
2025-10-07 23:18:48 +02:00
committed by GitHub
Unverified
parent 1a81ed202e
commit 76900f0eab
22 changed files with 327 additions and 378 deletions
@@ -71,9 +71,7 @@ async def test_cmc(
chat_history.append(ChatMessage(role="user", text="hello world"))
openai_chat_completion = OpenAIChatClient()
await openai_chat_completion.get_response(
messages=chat_history,
)
await openai_chat_completion.get_response(messages=chat_history)
mock_create.assert_awaited_once_with(
model=openai_unit_test_env["OPENAI_CHAT_MODEL_ID"],
stream=False,
@@ -189,6 +187,26 @@ async def test_cmc_general_exception(
)
@patch.object(AsyncChatCompletions, "create", new_callable=AsyncMock)
async def test_cmc_additional_properties(
mock_create: AsyncMock,
chat_history: list[ChatMessage],
mock_chat_completion_response: ChatCompletion,
openai_unit_test_env: dict[str, str],
):
mock_create.return_value = mock_chat_completion_response
chat_history.append(ChatMessage(role="user", text="hello world"))
openai_chat_completion = OpenAIChatClient()
await openai_chat_completion.get_response(messages=chat_history, additional_properties={"reasoning_effort": "low"})
mock_create.assert_awaited_once_with(
model=openai_unit_test_env["OPENAI_CHAT_MODEL_ID"],
stream=False,
messages=openai_chat_completion._prepare_chat_history_for_request(chat_history), # type: ignore
reasoning_effort="low",
)
# region Streaming
@@ -8,6 +8,7 @@ from unittest.mock import MagicMock, patch
import pytest
from openai import BadRequestError
from openai.types.responses.response_reasoning_item import Summary
from openai.types.responses.response_reasoning_summary_text_delta_event import ResponseReasoningSummaryTextDeltaEvent
from openai.types.responses.response_reasoning_summary_text_done_event import ResponseReasoningSummaryTextDoneEvent
from openai.types.responses.response_reasoning_text_delta_event import ResponseReasoningTextDeltaEvent
@@ -209,7 +210,7 @@ def test_get_response_with_all_parameters() -> None:
instructions="You are a helpful assistant",
max_tokens=100,
parallel_tool_calls=True,
model="gpt-4",
model_id="gpt-4",
previous_response_id="prev-123",
reasoning={"chain_of_thought": "enabled"},
service_tier="auto",
@@ -535,13 +536,13 @@ def test_response_content_creation_with_reasoning() -> None:
mock_reasoning_item = MagicMock()
mock_reasoning_item.type = "reasoning"
mock_reasoning_item.content = [mock_reasoning_content]
mock_reasoning_item.summary = ["Summary"]
mock_reasoning_item.summary = [Summary(text="Summary", type="summary_text")]
mock_response.output = [mock_reasoning_item]
response = client._create_response_content(mock_response, chat_options=ChatOptions()) # type: ignore
assert len(response.messages[0].contents) == 1
assert len(response.messages[0].contents) == 2
assert isinstance(response.messages[0].contents[0], TextReasoningContent)
assert response.messages[0].contents[0].text == "Reasoning step"
@@ -1536,11 +1537,9 @@ async def test_openai_responses_client_agent_chat_options_run_level() -> None:
instructions="You are a helpful assistant.",
) as agent:
response = await agent.run(
"Provide a brief, helpful response.",
max_tokens=100,
temperature=0.7,
top_p=0.9,
seed=123,
"Provide a brief, helpful response about why the sky blue is.",
max_tokens=600,
model_id="gpt-4o",
user="comprehensive-test-user",
tools=[get_weather],
tool_choice="auto",
@@ -2077,7 +2076,6 @@ def test_prepare_options_store_parameter_handling() -> None:
chat_options = ChatOptions(store=False, conversation_id="")
options = client._prepare_options(messages, chat_options) # type: ignore
assert options["store"] is False
assert "previous_response_id" not in options
chat_options = ChatOptions(store=None, conversation_id=None)
options = client._prepare_options(messages, chat_options) # type: ignore