nit: notes

This commit is contained in:
Mason Daugherty 2025-07-25 13:56:18 -04:00
parent c921d08b18
commit 4c176d377c
No known key found for this signature in database
2 changed files with 11 additions and 5 deletions

View File

@ -79,9 +79,11 @@ _FUNCTION_CALL_IDS_MAP_KEY = "__openai_function_call_ids__"
def _convert_to_v03_ai_message( def _convert_to_v03_ai_message(
message: AIMessage, has_reasoning: bool = False message: AIMessage, has_reasoning: bool = False
) -> AIMessage: ) -> AIMessage:
"""Mutate an AIMessage to the old-style v0.3 format.""" """Mutate an AIMessageV1 to the old-style v0.3 format."""
if isinstance(message.content, list): if isinstance(message.content, list):
new_content: list[Union[dict, str]] = [] new_content: list[ # Match signature of v0.3 AIMessage content
Union[dict, str]
] = []
for block in message.content: for block in message.content:
if isinstance(block, dict): if isinstance(block, dict):
if block.get("type") == "reasoning": if block.get("type") == "reasoning":
@ -148,7 +150,9 @@ def _convert_to_v03_ai_message(
return message return message
def _convert_from_v03_ai_message(message: AIMessage) -> AIMessage: def _convert_from_v03_ai_message(
message: AIMessage,
) -> AIMessage: # this should be AIMessageV1?
"""Convert an old-style v0.3 AIMessage into the new content-block format.""" """Convert an old-style v0.3 AIMessage into the new content-block format."""
# Only update ChatOpenAI v0.3 AIMessages # Only update ChatOpenAI v0.3 AIMessages
# TODO: structure provenance into AIMessage # TODO: structure provenance into AIMessage
@ -622,6 +626,8 @@ def _consolidate_calls(
def _convert_from_v1_to_responses(message: AIMessage) -> AIMessage: def _convert_from_v1_to_responses(message: AIMessage) -> AIMessage:
"""Convert a v1 message to the Responses format."""
if not isinstance(message.content, list): if not isinstance(message.content, list):
return message return message

View File

@ -3511,8 +3511,8 @@ def _construct_responses_api_input(messages: Sequence[BaseMessage]) -> list:
input_ = [] input_ = []
for lc_msg in messages: for lc_msg in messages:
if isinstance(lc_msg, AIMessage): if isinstance(lc_msg, AIMessage):
lc_msg = _convert_from_v03_ai_message(lc_msg) lc_msg = _convert_from_v03_ai_message(lc_msg) # Stage 1: v0.3 to v1
lc_msg = _convert_from_v1_to_responses(lc_msg) lc_msg = _convert_from_v1_to_responses(lc_msg) # Stage 2: v1 to Responses
msg = _convert_message_to_dict(lc_msg) msg = _convert_message_to_dict(lc_msg)
# "name" parameter unsupported # "name" parameter unsupported
if "name" in msg: if "name" in msg: