From efc9d200b1e21f5bc156560b1c92182f265e6393 Mon Sep 17 00:00:00 2001 From: tbphp Date: Tue, 29 Apr 2025 13:30:03 +0800 Subject: [PATCH] feat: support thinking suffix for vertex gemini channel --- relay/channel/vertex/adaptor.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/relay/channel/vertex/adaptor.go b/relay/channel/vertex/adaptor.go index 77f29620..75d86677 100644 --- a/relay/channel/vertex/adaptor.go +++ b/relay/channel/vertex/adaptor.go @@ -12,6 +12,7 @@ import ( "one-api/relay/channel/claude" "one-api/relay/channel/gemini" "one-api/relay/channel/openai" + "one-api/setting/model_setting" relaycommon "one-api/relay/common" "strings" ) @@ -77,6 +78,15 @@ func (a *Adaptor) GetRequestURL(info *relaycommon.RelayInfo) (string, error) { a.AccountCredentials = *adc suffix := "" if a.RequestMode == RequestModeGemini { + if model_setting.GetGeminiSettings().ThinkingAdapterEnabled { + // suffix -thinking and -nothinking + if strings.HasSuffix(info.OriginModelName, "-thinking") { + info.UpstreamModelName = strings.TrimSuffix(info.UpstreamModelName, "-thinking") + } else if strings.HasSuffix(info.OriginModelName, "-nothinking") { + info.UpstreamModelName = strings.TrimSuffix(info.UpstreamModelName, "-nothinking") + } + } + if info.IsStream { suffix = "streamGenerateContent?alt=sse" } else {