When converting universal LLMContext messages to AWS Bedrock expected format, automatically update non-initial "system"-role messages to "user"-role messages, as we do in other non-OpenAI LLM services
This commit is contained in:
@@ -116,6 +116,12 @@ class AWSBedrockLLMAdapter(BaseLLMAdapter[AWSBedrockLLMInvocationParams]):
|
|||||||
system = messages[0]["content"]
|
system = messages[0]["content"]
|
||||||
messages.pop(0)
|
messages.pop(0)
|
||||||
|
|
||||||
|
# Convert any subsequent "system"-role messages to "user"-role
|
||||||
|
# messages, as AWS Bedrock doesn't support system input messages.
|
||||||
|
for message in messages:
|
||||||
|
if message["role"] == "system":
|
||||||
|
message["role"] = "user"
|
||||||
|
|
||||||
# Merge consecutive messages with the same role.
|
# Merge consecutive messages with the same role.
|
||||||
i = 0
|
i = 0
|
||||||
while i < len(messages) - 1:
|
while i < len(messages) - 1:
|
||||||
|
|||||||
Reference in New Issue
Block a user