소스 검색

fix: cohere tool call does not support single tool (#3373)

takatost 1 년 전
부모
커밋
36b7dbb8d0
1개의 변경된 파일3개의 추가작업 그리고 2개의 파일을 삭제
  1. 3 2
      api/core/model_runtime/model_providers/cohere/llm/llm.py

+ 3 - 2
api/core/model_runtime/model_providers/cohere/llm/llm.py

@@ -323,6 +323,9 @@ class CohereLargeLanguageModel(LargeLanguageModel):
             model_parameters['stop_sequences'] = stop
 
         if tools:
+            if len(tools) == 1:
+                raise ValueError("Cohere tool call requires at least two tools to be specified.")
+
             model_parameters['tools'] = self._convert_tools(tools)
 
         message, chat_histories, tool_results \
@@ -476,8 +479,6 @@ class CohereLargeLanguageModel(LargeLanguageModel):
                 index += 1
             elif isinstance(chunk, StreamedChatResponse_ToolCallsGeneration):
                 chunk = cast(StreamedChatResponse_ToolCallsGeneration, chunk)
-
-                tool_calls = []
                 if chunk.tool_calls:
                     for cohere_tool_call in chunk.tool_calls:
                         tool_call = AssistantPromptMessage.ToolCall(