From 7d2d52505150f1533a889d91cdd29407bed8e464 Mon Sep 17 00:00:00 2001 From: CaIon <1808837298@qq.com> Date: Thu, 25 Apr 2024 22:57:11 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20claude=E6=B5=81=E6=A8=A1=E5=BC=8F?= =?UTF-8?q?=E7=BC=BA=E5=A4=B1role?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- relay/channel/claude/relay-claude.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/relay/channel/claude/relay-claude.go b/relay/channel/claude/relay-claude.go index 2726eeb..015b645 100644 --- a/relay/channel/claude/relay-claude.go +++ b/relay/channel/claude/relay-claude.go @@ -79,7 +79,7 @@ func RequestOpenAI2ClaudeMessage(textRequest dto.GeneralOpenAIRequest) (*ClaudeR // } //} if message.Role == "" { - message.Role = "user" + textRequest.Messages[i].Role = "user" } fmtMessage := dto.Message{ Role: message.Role, @@ -172,6 +172,7 @@ func StreamResponseClaude2OpenAI(reqMode int, claudeResponse *ClaudeResponse) (* var choice dto.ChatCompletionsStreamResponseChoice if reqMode == RequestModeCompletion { choice.Delta.Content = claudeResponse.Completion + choice.Delta.Role = "assistant" finishReason := stopReasonClaude2OpenAI(claudeResponse.StopReason) if finishReason != "null" { choice.FinishReason = &finishReason @@ -184,6 +185,7 @@ func StreamResponseClaude2OpenAI(reqMode int, claudeResponse *ClaudeResponse) (* } else if claudeResponse.Type == "content_block_delta" { choice.Index = claudeResponse.Index choice.Delta.Content = claudeResponse.Delta.Text + choice.Delta.Role = "assistant" } else if claudeResponse.Type == "message_delta" { finishReason := stopReasonClaude2OpenAI(*claudeResponse.Delta.StopReason) if finishReason != "null" {