From dce8bbe1cadf978a780cd42456faaf52195ce590 Mon Sep 17 00:00:00 2001 From: mrhaoji Date: Mon, 24 Jul 2023 22:28:16 +0800 Subject: [PATCH 1/3] fix: relay router typo for List models (#320) via: https://platform.openai.com/docs/api-reference/models/list --- router/relay-router.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/router/relay-router.go b/router/relay-router.go index 0c8e9415..c3c84d8b 100644 --- a/router/relay-router.go +++ b/router/relay-router.go @@ -12,7 +12,7 @@ func SetRelayRouter(router *gin.Engine) { modelsRouter := router.Group("/v1/models") modelsRouter.Use(middleware.TokenAuth()) { - modelsRouter.GET("/", controller.ListModels) + modelsRouter.GET("", controller.ListModels) modelsRouter.GET("/:model", controller.RetrieveModel) } relayV1Router := router.Group("/v1") From 929e43ef817c40fda8e6008f3a2433cd6dccef07 Mon Sep 17 00:00:00 2001 From: mrhaoji Date: Mon, 24 Jul 2023 22:37:57 +0800 Subject: [PATCH 2/3] fix: baseURL not working in APITypePaLM (#317) * fix: baseURL not working in APITypePaLM * chore: use the same logic as claude --------- Co-authored-by: JustSong --- controller/relay-text.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/controller/relay-text.go b/controller/relay-text.go index 8dfdf6e1..25a10679 100644 --- a/controller/relay-text.go +++ b/controller/relay-text.go @@ -140,6 +140,9 @@ func relayTextHelper(c *gin.Context, relayMode int) *OpenAIErrorWithStatusCode { fullRequestURL += "?access_token=" + apiKey // TODO: access token expire in 30 days case APITypePaLM: fullRequestURL = "https://generativelanguage.googleapis.com/v1beta2/models/chat-bison-001:generateMessage" + if baseURL != "" { + fullRequestURL = fmt.Sprintf("%s/v1beta2/models/chat-bison-001:generateMessage", baseURL) + } apiKey := c.Request.Header.Get("Authorization") apiKey = strings.TrimPrefix(apiKey, "Bearer ") fullRequestURL += "?key=" + apiKey From c134604cee3fed967165ffe7f879a980cf235d1f Mon Sep 17 00:00:00 2001 From: JustSong Date: Mon, 24 Jul 2023 23:34:14 +0800 Subject: [PATCH 3/3] fix: use channel type to determine api type (close #321) --- controller/relay-text.go | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/controller/relay-text.go b/controller/relay-text.go index 25a10679..52e10f2b 100644 --- a/controller/relay-text.go +++ b/controller/relay-text.go @@ -85,13 +85,14 @@ func relayTextHelper(c *gin.Context, relayMode int) *OpenAIErrorWithStatusCode { } } apiType := APITypeOpenAI - if strings.HasPrefix(textRequest.Model, "claude") { + switch channelType { + case common.ChannelTypeAnthropic: apiType = APITypeClaude - } else if strings.HasPrefix(textRequest.Model, "ERNIE") { + case common.ChannelTypeBaidu: apiType = APITypeBaidu - } else if strings.HasPrefix(textRequest.Model, "PaLM") { + case common.ChannelTypePaLM: apiType = APITypePaLM - } else if strings.HasPrefix(textRequest.Model, "chatglm_") { + case common.ChannelTypeZhipu: apiType = APITypeZhipu } baseURL := common.ChannelBaseURLs[channelType]