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

Signed-off-by: yihong0618 <zouzou0208@gmail.com>
This commit is contained in:
yihong 2024-12-04 19:46:40 +08:00 committed by GitHub
parent 138bf698b0
commit 961e25f608
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -196,6 +196,13 @@ class BedrockLargeLanguageModel(LargeLanguageModel):
if model_info["support_tool_use"] and tools: if model_info["support_tool_use"] and tools:
parameters["toolConfig"] = self._convert_converse_tool_config(tools=tools) parameters["toolConfig"] = self._convert_converse_tool_config(tools=tools)
try: 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: if stream:
response = bedrock_client.converse_stream(**parameters) response = bedrock_client.converse_stream(**parameters)
return self._handle_converse_stream_response( return self._handle_converse_stream_response(