Merge pull request #93 from mjunaidca/fix/chat-history-assistant-role
Fix: Add missing support for 'assistant' Role in Converter.items_to_messages used by Runner.run_sync
This commit is contained in:
commit
96913b847f
2 changed files with 42 additions and 0 deletions
|
|
@ -808,6 +808,13 @@ class _Converter:
|
||||||
"content": cls.extract_text_content(content),
|
"content": cls.extract_text_content(content),
|
||||||
}
|
}
|
||||||
result.append(msg_developer)
|
result.append(msg_developer)
|
||||||
|
elif role == "assistant":
|
||||||
|
flush_assistant_message()
|
||||||
|
msg_assistant: ChatCompletionAssistantMessageParam = {
|
||||||
|
"role": "assistant",
|
||||||
|
"content": cls.extract_text_content(content),
|
||||||
|
}
|
||||||
|
result.append(msg_assistant)
|
||||||
else:
|
else:
|
||||||
raise UserError(f"Unexpected role in easy_input_message: {role}")
|
raise UserError(f"Unexpected role in easy_input_message: {role}")
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -393,3 +393,38 @@ def test_unknown_object_errors():
|
||||||
with pytest.raises(UserError, match="Unhandled item type or structure"):
|
with pytest.raises(UserError, match="Unhandled item type or structure"):
|
||||||
# Purposely ignore the type error
|
# Purposely ignore the type error
|
||||||
_Converter.items_to_messages([TestObject()]) # type: ignore
|
_Converter.items_to_messages([TestObject()]) # type: ignore
|
||||||
|
|
||||||
|
|
||||||
|
def test_assistant_messages_in_history():
|
||||||
|
"""
|
||||||
|
Test that assistant messages are added to the history.
|
||||||
|
"""
|
||||||
|
messages = _Converter.items_to_messages(
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"role": "user",
|
||||||
|
"content": "Hello",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"role": "assistant",
|
||||||
|
"content": "Hello?",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"role": "user",
|
||||||
|
"content": "What was my Name?",
|
||||||
|
},
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
|
assert messages == [
|
||||||
|
{"role": "user", "content": "Hello"},
|
||||||
|
{"role": "assistant", "content": "Hello?"},
|
||||||
|
{"role": "user", "content": "What was my Name?"},
|
||||||
|
]
|
||||||
|
assert len(messages) == 3
|
||||||
|
assert messages[0]["role"] == "user"
|
||||||
|
assert messages[0]["content"] == "Hello"
|
||||||
|
assert messages[1]["role"] == "assistant"
|
||||||
|
assert messages[1]["content"] == "Hello?"
|
||||||
|
assert messages[2]["role"] == "user"
|
||||||
|
assert messages[2]["content"] == "What was my Name?"
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue