From 6c86a662125d2e890847cfea97071df2ee413280 Mon Sep 17 00:00:00 2001 From: Yinghan Ma Date: Tue, 23 Sep 2025 16:45:39 -0700 Subject: [PATCH 1/2] fix --- eval_protocol/__init__.py | 5 ++++- eval_protocol/adapters/openai_responses.py | 14 +++++++------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/eval_protocol/__init__.py b/eval_protocol/__init__.py index 7b868b2b..7fab0210 100644 --- a/eval_protocol/__init__.py +++ b/eval_protocol/__init__.py @@ -41,7 +41,10 @@ from .pytest import evaluation_test, SingleTurnRolloutProcessor from .pytest.parameterize import DefaultParameterIdGenerator -from .adapters import OpenAIResponsesAdapter +try: + from .adapters import OpenAIResponsesAdapter +except ImportError: + OpenAIResponsesAdapter = None try: from .adapters import LangfuseAdapter, create_langfuse_adapter diff --git a/eval_protocol/adapters/openai_responses.py b/eval_protocol/adapters/openai_responses.py index 1d4c03e5..da223012 100644 --- a/eval_protocol/adapters/openai_responses.py +++ b/eval_protocol/adapters/openai_responses.py @@ -10,12 +10,12 @@ from typing_extensions import Any from openai.pagination import SyncCursorPage -from openai.types.chat.chat_completion_function_tool_param import ChatCompletionFunctionToolParam +from openai.types.chat.chat_completion_tool_param import ChatCompletionToolParam from openai.types.chat.chat_completion_message import FunctionCall from openai.types.responses import Response from openai.types.responses.response_item import ResponseItem -from openai.types.chat.chat_completion_message_function_tool_call import ( - ChatCompletionMessageFunctionToolCall, +from openai.types.chat.chat_completion_message_tool_call import ( + ChatCompletionMessageToolCall, Function, ) from openai.types.responses.tool import Tool @@ -116,9 +116,9 @@ def _create_evaluation_row(self, input_items: SyncCursorPage[ResponseItem], resp def _responses_tools_to_chat_completion_tools( self, tools: List[Tool] - ) -> Sequence[ChatCompletionFunctionToolParam]: + ) -> Sequence[ChatCompletionToolParam]: """Convert OpenAI Responses API tools to chat completion message function tool calls.""" - chat_completion_tools: List[ChatCompletionFunctionToolParam] = [] + chat_completion_tools: List[ChatCompletionToolParam] = [] for tool in tools: if tool.type == "function": chat_completion_tools.append( @@ -146,7 +146,7 @@ def _create_messages(self, input_items: SyncCursorPage[ResponseItem]) -> Iterabl be added before the assistant message with tool calls. """ messages: list[Message] = [] - current_tool_calls: list[ChatCompletionMessageFunctionToolCall] = [] + current_tool_calls: list[ChatCompletionMessageToolCall] = [] tool_call_outputs: list[Message] = [] for item in input_items: @@ -173,7 +173,7 @@ def _create_messages(self, input_items: SyncCursorPage[ResponseItem]) -> Iterabl # Collect tool call outputs to add before assistant message tool_call_outputs.append(Message(role="tool", content=item.output, tool_call_id=item.call_id)) elif item.type == "function_call": - tool_call = ChatCompletionMessageFunctionToolCall( + tool_call = ChatCompletionMessageToolCall( id=item.call_id, type="function", function=Function(name=item.name, arguments=item.arguments) ) current_tool_calls.append(tool_call) From 26733a58c94cbd7acd448e8d2d8b48549f9b27b7 Mon Sep 17 00:00:00 2001 From: Yinghan Ma Date: Tue, 23 Sep 2025 16:51:44 -0700 Subject: [PATCH 2/2] lint --- eval_protocol/adapters/openai_responses.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/eval_protocol/adapters/openai_responses.py b/eval_protocol/adapters/openai_responses.py index da223012..e24489f5 100644 --- a/eval_protocol/adapters/openai_responses.py +++ b/eval_protocol/adapters/openai_responses.py @@ -114,9 +114,7 @@ def _create_evaluation_row(self, input_items: SyncCursorPage[ResponseItem], resp ), ) - def _responses_tools_to_chat_completion_tools( - self, tools: List[Tool] - ) -> Sequence[ChatCompletionToolParam]: + def _responses_tools_to_chat_completion_tools(self, tools: List[Tool]) -> Sequence[ChatCompletionToolParam]: """Convert OpenAI Responses API tools to chat completion message function tool calls.""" chat_completion_tools: List[ChatCompletionToolParam] = [] for tool in tools: