Browse Source

fix tongyi tool calls (#6896)

dufei 8 months ago
parent
commit
f8617db012
1 changed files with 6 additions and 5 deletions
  1. 6 5
      api/core/model_runtime/model_providers/tongyi/llm/llm.py

+ 6 - 5
api/core/model_runtime/model_providers/tongyi/llm/llm.py

@@ -497,12 +497,13 @@ You should also complete the text started with ``` but not tell ``` directly.
                 content = prompt_message.content
                 if not content:
                     content = ' '
-                tongyi_messages.append({
+                message = {
                     'role': 'assistant',
-                    'content': content if not rich_content else [{"text": content}],
-                    'tool_calls': [tool_call.model_dump() for tool_call in
-                                   prompt_message.tool_calls] if prompt_message.tool_calls else None
-                })
+                    'content': content if not rich_content else [{"text": content}]
+                }
+                if prompt_message.tool_calls:
+                    message['tool_calls'] = [tool_call.model_dump() for tool_call in prompt_message.tool_calls]
+                tongyi_messages.append(message)
             elif isinstance(prompt_message, ToolPromptMessage):
                 tongyi_messages.append({
                     "role": "tool",