community: read function call from tool_calls for Qianfan (#26208)

I added one more 'elif' to read tool call message from `tool_calls`

---------

Co-authored-by: Chester Curme <chester.curme@gmail.com>
This commit is contained in:
Dobiichi-Origami 2024-11-04 22:33:32 +08:00 committed by GitHub
parent b7d549ae88
commit f7ced5b211
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -68,9 +68,16 @@ def convert_message_to_dict(message: BaseMessage) -> dict:
message_dict = {"role": "assistant", "content": message.content}
if "function_call" in message.additional_kwargs:
message_dict["function_call"] = message.additional_kwargs["function_call"]
# If function call only, content is None not empty string
if message_dict["content"] == "":
message_dict["content"] = None
elif len(message.tool_calls) != 0:
tool_call = message.tool_calls[0]
message_dict["function_call"] = {
"name": tool_call["name"],
"args": tool_call["args"],
}
# If function call only, content is None not empty string
if "function_call" in message_dict and message_dict["content"] == "":
message_dict["content"] = None
elif isinstance(message, (FunctionMessage, ToolMessage)):
message_dict = {
"role": "function",