Prechádzať zdrojové kódy

fix: better bedrock message handler close #10976 (#11317)

Signed-off-by: yihong0618 <zouzou0208@gmail.com>
yihong 4 mesiacov pred
rodič
commit
961e25f608

+ 7 - 0
api/core/model_runtime/model_providers/bedrock/llm/llm.py

@@ -196,6 +196,13 @@ class BedrockLargeLanguageModel(LargeLanguageModel):
         if model_info["support_tool_use"] and tools:
             parameters["toolConfig"] = self._convert_converse_tool_config(tools=tools)
         try:
+            # for issue #10976
+            conversations_list = parameters["messages"]
+            # if two consecutive user messages found, combine them into one message
+            for i in range(len(conversations_list) - 2, -1, -1):
+                if conversations_list[i]["role"] == conversations_list[i + 1]["role"]:
+                    conversations_list[i]["content"].extend(conversations_list.pop(i + 1)["content"])
+
             if stream:
                 response = bedrock_client.converse_stream(**parameters)
                 return self._handle_converse_stream_response(