From 53fa7255ec3843c972aa83d3b404a1893687d674 Mon Sep 17 00:00:00 2001 From: CaIon Date: Mon, 11 Aug 2025 17:32:58 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat:=20Refactor=20model=20handling?= =?UTF-8?q?=20to=20use=20UpstreamModelName=20for=20request=20processing?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- relay/channel/openai/adaptor.go | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/relay/channel/openai/adaptor.go b/relay/channel/openai/adaptor.go index 86461426..4c7ba60e 100644 --- a/relay/channel/openai/adaptor.go +++ b/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"