From 647718f3e6df04eca91748e8d9b8c0915c98e7b7 Mon Sep 17 00:00:00 2001 From: "Laisky.Cai" Date: Thu, 20 Feb 2025 01:51:19 +0000 Subject: [PATCH] feat: add OpenrouterProviderSort configuration for provider sorting --- common/config/config.go | 3 +++ relay/adaptor/openai/adaptor.go | 5 +++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/common/config/config.go b/common/config/config.go index 90764e5a..66ca6619 100644 --- a/common/config/config.go +++ b/common/config/config.go @@ -179,3 +179,6 @@ var UserContentRequestTimeout = env.Int("USER_CONTENT_REQUEST_TIMEOUT", 30) // EnforceIncludeUsage is used to determine whether to include usage in the response var EnforceIncludeUsage = env.Bool("ENFORCE_INCLUDE_USAGE", false) var TestPrompt = env.String("TEST_PROMPT", "2 + 2 = ?") + +// OpenrouterProviderSort is used to determine the order of the providers in the openrouter +var OpenrouterProviderSort = env.String("OPENROUTER_PROVIDER_SORT", "") diff --git a/relay/adaptor/openai/adaptor.go b/relay/adaptor/openai/adaptor.go index 2361462a..13b3eec8 100644 --- a/relay/adaptor/openai/adaptor.go +++ b/relay/adaptor/openai/adaptor.go @@ -101,12 +101,13 @@ func (a *Adaptor) ConvertRequest(c *gin.Context, relayMode int, request *model.G case channeltype.OpenRouter: includeReasoning := true request.IncludeReasoning = &includeReasoning - if request.Provider == nil || request.Provider.Sort == "" { + if request.Provider == nil || request.Provider.Sort == "" && + config.OpenrouterProviderSort != "" { if request.Provider == nil { request.Provider = &openrouter.RequestProvider{} } - request.Provider.Sort = "throughput" + request.Provider.Sort = config.OpenrouterProviderSort } default: }