Browse Source

✨ feat: Refactor model handling to use UpstreamModelName for request processing

CaIon 6 months ago
parent
commit
53fa7255ec
1 changed files with 7 additions and 7 deletions
  1. 7 7
      relay/channel/openai/adaptor.go

+ 7 - 7
relay/channel/openai/adaptor.go

@@ -256,34 +256,34 @@ func (a *Adaptor) ConvertOpenAIRequest(c *gin.Context, info *relaycommon.RelayIn
 			}
 		}
 	}
-	if strings.HasPrefix(request.Model, "o") || strings.HasPrefix(request.Model, "gpt-5") {
+	if strings.HasPrefix(info.UpstreamModelName, "o") || strings.HasPrefix(info.UpstreamModelName, "gpt-5") {
 		if request.MaxCompletionTokens == 0 && request.MaxTokens != 0 {
 			request.MaxCompletionTokens = request.MaxTokens
 			request.MaxTokens = 0
 		}
 
-		if strings.HasPrefix(request.Model, "o") {
+		if strings.HasPrefix(info.UpstreamModelName, "o") {
 			request.Temperature = nil
 		}
 
-		if strings.HasPrefix(request.Model, "gpt-5") {
-			if request.Model != "gpt-5-chat-latest" {
+		if strings.HasPrefix(info.UpstreamModelName, "gpt-5") {
+			if info.UpstreamModelName != "gpt-5-chat-latest" {
 				request.Temperature = nil
 			}
 		}
 
 		// 转换模型推理力度后缀
-		effort, originModel := parseReasoningEffortFromModelSuffix(request.Model)
+		effort, originModel := parseReasoningEffortFromModelSuffix(info.UpstreamModelName)
 		if effort != "" {
 			request.ReasoningEffort = effort
+			info.UpstreamModelName = originModel
 			request.Model = originModel
 		}
 
 		info.ReasoningEffort = request.ReasoningEffort
-		info.UpstreamModelName = request.Model
 
 		// o系列模型developer适配(o1-mini除外)
-		if !strings.HasPrefix(request.Model, "o1-mini") && !strings.HasPrefix(request.Model, "o1-preview") {
+		if !strings.HasPrefix(info.UpstreamModelName, "o1-mini") && !strings.HasPrefix(info.UpstreamModelName, "o1-preview") {
 			//修改第一个Message的内容,将system改为developer
 			if len(request.Messages) > 0 && request.Messages[0].Role == "system" {
 				request.Messages[0].Role = "developer"