Merge pull request #2968 from 0-don/fix/claude-input-text-content-block

fix: normalize input_text content blocks in Claude-to-OpenAI conversion
This commit is contained in:
Seefs
2026-02-21 14:28:59 +08:00
committed by GitHub
2 changed files with 6 additions and 2 deletions
+1 -1
View File
@@ -127,7 +127,7 @@ func ClaudeToOpenAIRequest(claudeRequest dto.ClaudeRequest, info *relaycommon.Re
for _, mediaMsg := range contents { for _, mediaMsg := range contents {
switch mediaMsg.Type { switch mediaMsg.Type {
case "text": case "text", "input_text":
message := dto.MediaContent{ message := dto.MediaContent{
Type: "text", Type: "text",
Text: mediaMsg.GetText(), Text: mediaMsg.GetText(),
+5 -1
View File
@@ -214,8 +214,12 @@ func ChatCompletionsRequestToResponsesRequest(req *dto.GeneralOpenAIRequest) (*d
for _, part := range parts { for _, part := range parts {
switch part.Type { switch part.Type {
case dto.ContentTypeText: case dto.ContentTypeText:
textType := "input_text"
if role == "assistant" {
textType = "output_text"
}
contentParts = append(contentParts, map[string]any{ contentParts = append(contentParts, map[string]any{
"type": "input_text", "type": textType,
"text": part.Text, "text": part.Text,
}) })
case dto.ContentTypeImageURL: case dto.ContentTypeImageURL: