fix(ai-proxy): add system message handling for Bedrock requests (#2516)

This commit is contained in:
HaoJie Liu
2025-06-30 10:35:14 +08:00
committed by GitHub
parent bb786c9618
commit 9a0cf9b762

View File

@@ -723,10 +723,18 @@ func (b *bedrockProvider) onChatCompletionRequestBody(ctx wrapper.HttpContext, b
func (b *bedrockProvider) buildBedrockTextGenerationRequest(origRequest *chatCompletionRequest, headers http.Header) ([]byte, error) {
messages := make([]bedrockMessage, 0, len(origRequest.Messages))
for i := range origRequest.Messages {
messages = append(messages, chatMessage2BedrockMessage(origRequest.Messages[i]))
systemMessages := make([]systemContentBlock, 0)
for _, msg := range origRequest.Messages {
if msg.Role == roleSystem {
systemMessages = append(systemMessages, systemContentBlock{Text: msg.StringContent()})
} else {
messages = append(messages, chatMessage2BedrockMessage(msg))
}
}
request := &bedrockTextGenRequest{
System: systemMessages,
Messages: messages,
InferenceConfig: bedrockInferenceConfig{
MaxTokens: origRequest.MaxTokens,