diff --git a/libs/community/langchain_community/chat_models/baidu_qianfan_endpoint.py b/libs/community/langchain_community/chat_models/baidu_qianfan_endpoint.py index 93f32e9a83e58..243ac084d3779 100644 --- a/libs/community/langchain_community/chat_models/baidu_qianfan_endpoint.py +++ b/libs/community/langchain_community/chat_models/baidu_qianfan_endpoint.py @@ -66,17 +66,13 @@ def convert_message_to_dict(message: BaseMessage) -> dict: message_dict = {"role": "user", "content": message.content} elif isinstance(message, AIMessage): message_dict = {"role": "assistant", "content": message.content} - if "function_call" in message.additional_kwargs: - message_dict["function_call"] = message.additional_kwargs["function_call"] - elif len(message.tool_calls) != 0: + if len(message.tool_calls) != 0: tool_call = message.tool_calls[0] message_dict["function_call"] = { "name": tool_call["name"], - "args": tool_call["args"], + "arguments": json.dumps(tool_call["args"], ensure_ascii=False), } - - # If function call only, content is None not empty string - if "function_call" in message_dict and message_dict["content"] == "": + # If function call only, content is None not empty string message_dict["content"] = None elif isinstance(message, (FunctionMessage, ToolMessage)): message_dict = {