mirror of
https://github.com/hwchase17/langchain.git
synced 2025-08-10 13:27:36 +00:00
community[deepinfra]: fix tool call parsing. (#23162)
This PR includes fix for DeepInfra tool call parsing.
This commit is contained in:
parent
525109e506
commit
2a2c0d1a94
@ -45,6 +45,7 @@ from langchain_core.messages import (
|
|||||||
HumanMessageChunk,
|
HumanMessageChunk,
|
||||||
SystemMessage,
|
SystemMessage,
|
||||||
SystemMessageChunk,
|
SystemMessageChunk,
|
||||||
|
ToolMessage,
|
||||||
)
|
)
|
||||||
from langchain_core.messages.tool import ToolCall
|
from langchain_core.messages.tool import ToolCall
|
||||||
from langchain_core.outputs import (
|
from langchain_core.outputs import (
|
||||||
@ -92,7 +93,7 @@ def _parse_tool_calling(tool_call: dict) -> ToolCall:
|
|||||||
Returns:
|
Returns:
|
||||||
|
|
||||||
"""
|
"""
|
||||||
name = tool_call.get("name", "")
|
name = tool_call["function"].get("name", "")
|
||||||
args = json.loads(tool_call["function"]["arguments"])
|
args = json.loads(tool_call["function"]["arguments"])
|
||||||
id = tool_call.get("id")
|
id = tool_call.get("id")
|
||||||
return ToolCall(name=name, args=args, id=id)
|
return ToolCall(name=name, args=args, id=id)
|
||||||
@ -181,6 +182,13 @@ def _convert_message_to_dict(message: BaseMessage) -> dict:
|
|||||||
"content": message.content,
|
"content": message.content,
|
||||||
"name": message.name,
|
"name": message.name,
|
||||||
}
|
}
|
||||||
|
elif isinstance(message, ToolMessage):
|
||||||
|
message_dict = {
|
||||||
|
"role": "tool",
|
||||||
|
"content": message.content,
|
||||||
|
"name": message.name, # type: ignore[dict-item]
|
||||||
|
"tool_call_id": message.tool_call_id,
|
||||||
|
}
|
||||||
else:
|
else:
|
||||||
raise ValueError(f"Got unknown type {message}")
|
raise ValueError(f"Got unknown type {message}")
|
||||||
if "name" in message.additional_kwargs:
|
if "name" in message.additional_kwargs:
|
||||||
|
Loading…
Reference in New Issue
Block a user