Przeglądaj źródła

Merge pull request #1235 from prnake/thinking-fix-0616

feat: openrouter format for claude request
Calcium-Ion 6 miesięcy temu
rodzic
commit
ea79d59aa0
1 zmienionych plików z 16 dodań i 0 usunięć
  1. 16 0
      relay/channel/claude/relay-claude.go

+ 16 - 0
relay/channel/claude/relay-claude.go

@@ -7,6 +7,7 @@ import (
 	"net/http"
 	"one-api/common"
 	"one-api/dto"
+	"one-api/relay/channel/openrouter"
 	relaycommon "one-api/relay/common"
 	"one-api/relay/helper"
 	"one-api/service"
@@ -122,6 +123,21 @@ func RequestOpenAI2ClaudeMessage(textRequest dto.GeneralOpenAIRequest) (*dto.Cla
 		claudeRequest.Model = strings.TrimSuffix(textRequest.Model, "-thinking")
 	}
 
+	if textRequest.Reasoning != nil {
+		var reasoning openrouter.RequestReasoning
+		if err := json.Unmarshal(textRequest.Reasoning, &reasoning); err != nil {
+			return nil, err
+		}
+
+		budgetTokens := reasoning.MaxTokens
+		if budgetTokens > 0 {
+			claudeRequest.Thinking = &dto.Thinking{
+				Type:         "enabled",
+				BudgetTokens: budgetTokens,
+			}
+		}
+	}
+
 	if textRequest.Stop != nil {
 		// stop maybe string/array string, convert to array string
 		switch textRequest.Stop.(type) {