You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Have you searched for related issues? Others may have faced similar issues. - Yes
Describe the bug
The _Converter.items_to_messages method in the OpenAI chat completions module is currently rejecting messages with the 'assistant' role, raising a UserError with the message "Unexpected role in easy_input_message: assistant". This prevents proper handling of standard conversation formats that include both user and assistant messages, which is a critical issue for building conversational agents.
Debug information
Agents SDK version: 0.0.3
Python version: 3.11, 3.12
Repro steps
To Reproduce
The issue can be reproduced with the following code examples:
Example 1:
fromagentsimportAgent, Runner, AsyncOpenAI, OpenAIChatCompletionsModelexternal_client=AsyncOpenAI()
model=OpenAIChatCompletionsModel(
model="gpt-4o",
openai_client=external_client
)
agent: Agent=Agent(name="Assistant", instructions="You are a helpful assistant", model=model)
history= [{"role": "user", "content": "I am Junaid"}, {"role": "assistant", "content": "Hello?"}, {"role": "user", "content": "What was my Name?"}]
result=Runner.run_sync(agent, history)
print("\nCALLING AGENT\n")
print(result.final_output)
Example 2:
fromagents.models.openai_chatcompletionsimport_Convertermessages=_Converter.items_to_messages(
[
{"role": "user", "content": "Hello"},
{"role": "assistant", "content": "Hello?"},
{"role": "user", "content": "What was my Name?"},
]
)
This results in the following error:
Traceback (most recent call last):
File "/path/to/script.py", line 3, in <module>
messages = _Converter.items_to_messages(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/path/to/agents/models/openai_chatcompletions.py", line 812, in items_to_messages
raise UserError(f"Unexpected role in easy_input_message: {role}")
agents.exceptions.UserError: Unexpected role in easy_input_message: assistant
Expected behavior
The items_to_messages method should accept 'assistant' as a valid role, as it is a standard role in the OpenAI Chat Completions API. The method should successfully convert all message items, including those with the 'assistant' role, into the appropriate message format.
Additional context
This bug affects any code that attempts to process conversation histories containing assistant responses. The 'assistant' role is a core part of the OpenAI Chat Completions API specification and must be supported for proper conversation handling. The proposed fix is to update the role validation logic to explicitly accept 'assistant' as a valid role.
The text was updated successfully, but these errors were encountered:
Please read this first
Describe the bug
The _Converter.items_to_messages method in the OpenAI chat completions module is currently rejecting messages with the 'assistant' role, raising a UserError with the message "Unexpected role in easy_input_message: assistant". This prevents proper handling of standard conversation formats that include both user and assistant messages, which is a critical issue for building conversational agents.
Debug information
Repro steps
To Reproduce
The issue can be reproduced with the following code examples:
Example 1:
Example 2:
This results in the following error:
Expected behavior
The
items_to_messages
method should accept 'assistant' as a valid role, as it is a standard role in the OpenAI Chat Completions API. The method should successfully convert all message items, including those with the 'assistant' role, into the appropriate message format.Additional context
This bug affects any code that attempts to process conversation histories containing assistant responses. The 'assistant' role is a core part of the OpenAI Chat Completions API specification and must be supported for proper conversation handling. The proposed fix is to update the role validation logic to explicitly accept 'assistant' as a valid role.
The text was updated successfully, but these errors were encountered: