Skip to content

Commit

Permalink
anthropic[patch]: correctly handle tool msg with empty list (#27109)
Browse files Browse the repository at this point in the history
  • Loading branch information
baskaryan authored Oct 4, 2024
1 parent 4935a14 commit 1e768a9
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 3 deletions.
10 changes: 7 additions & 3 deletions libs/partners/anthropic/langchain_anthropic/chat_models.py
Original file line number Diff line number Diff line change
Expand Up @@ -118,9 +118,13 @@ def _merge_messages(
for curr in messages:
curr = curr.model_copy(deep=True)
if isinstance(curr, ToolMessage):
if isinstance(curr.content, list) and all(
isinstance(block, dict) and block.get("type") == "tool_result"
for block in curr.content
if (
isinstance(curr.content, list)
and curr.content
and all(
isinstance(block, dict) and block.get("type") == "tool_result"
for block in curr.content
)
):
curr = HumanMessage(curr.content) # type: ignore[misc]
else:
Expand Down
21 changes: 21 additions & 0 deletions libs/partners/anthropic/tests/unit_tests/test_chat_models.py
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,13 @@ def test__merge_messages() -> None:
"text": None,
"name": "blah",
},
{
"tool_input": {"a": "c"},
"type": "tool_use",
"id": "3",
"text": None,
"name": "blah",
},
]
),
ToolMessage("buz output", tool_call_id="1", status="error"), # type: ignore[misc]
Expand All @@ -178,6 +185,7 @@ def test__merge_messages() -> None:
],
tool_call_id="2",
), # type: ignore[misc]
ToolMessage([], tool_call_id="3"), # type: ignore[misc]
HumanMessage("next thing"), # type: ignore[misc]
]
expected = [
Expand All @@ -201,6 +209,13 @@ def test__merge_messages() -> None:
"text": None,
"name": "blah",
},
{
"tool_input": {"a": "c"},
"type": "tool_use",
"id": "3",
"text": None,
"name": "blah",
},
]
),
HumanMessage( # type: ignore[misc]
Expand All @@ -226,6 +241,12 @@ def test__merge_messages() -> None:
"tool_use_id": "2",
"is_error": False,
},
{
"type": "tool_result",
"content": [],
"tool_use_id": "3",
"is_error": False,
},
{"type": "text", "text": "next thing"},
]
),
Expand Down

0 comments on commit 1e768a9

Please sign in to comment.