From 3d2252df6fb367e7509176c45740131c830ebf42 Mon Sep 17 00:00:00 2001 From: JustSong Date: Thu, 13 Jun 2024 00:07:13 +0800 Subject: [PATCH] fix: fix xunfei version config --- middleware/distributor.go | 42 ++++++++++---------- model/channel.go | 2 +- relay/adaptor/xunfei/adaptor.go | 16 ++++---- web/default/src/pages/Channel/EditChannel.js | 3 -- 4 files changed, 31 insertions(+), 32 deletions(-) diff --git a/middleware/distributor.go b/middleware/distributor.go index d0fd7ba5..0c4b04c3 100644 --- a/middleware/distributor.go +++ b/middleware/distributor.go @@ -67,26 +67,28 @@ func SetupContextForSelectedChannel(c *gin.Context, channel *model.Channel, mode c.Set(ctxkey.BaseURL, channel.GetBaseURL()) cfg, _ := channel.LoadConfig() // this is for backward compatibility - switch channel.Type { - case channeltype.Azure: - if cfg.APIVersion == "" { - cfg.APIVersion = channel.Other - } - case channeltype.Xunfei: - if cfg.APIVersion == "" { - cfg.APIVersion = channel.Other - } - case channeltype.Gemini: - if cfg.APIVersion == "" { - cfg.APIVersion = channel.Other - } - case channeltype.AIProxyLibrary: - if cfg.LibraryID == "" { - cfg.LibraryID = channel.Other - } - case channeltype.Ali: - if cfg.Plugin == "" { - cfg.Plugin = channel.Other + if channel.Other != nil { + switch channel.Type { + case channeltype.Azure: + if cfg.APIVersion == "" { + cfg.APIVersion = *channel.Other + } + case channeltype.Xunfei: + if cfg.APIVersion == "" { + cfg.APIVersion = *channel.Other + } + case channeltype.Gemini: + if cfg.APIVersion == "" { + cfg.APIVersion = *channel.Other + } + case channeltype.AIProxyLibrary: + if cfg.LibraryID == "" { + cfg.LibraryID = *channel.Other + } + case channeltype.Ali: + if cfg.Plugin == "" { + cfg.Plugin = *channel.Other + } } } c.Set(ctxkey.Config, cfg) diff --git a/model/channel.go b/model/channel.go index ec52683e..a92f402c 100644 --- a/model/channel.go +++ b/model/channel.go @@ -27,7 +27,7 @@ type Channel struct { TestTime int64 `json:"test_time" gorm:"bigint"` ResponseTime int `json:"response_time"` // in milliseconds BaseURL *string `json:"base_url" gorm:"column:base_url;default:''"` - Other string `json:"other"` // DEPRECATED: please save config to field Config + Other *string `json:"other"` // DEPRECATED: please save config to field Config Balance float64 `json:"balance"` // in USD BalanceUpdatedTime int64 `json:"balance_updated_time" gorm:"bigint"` Models string `json:"models"` diff --git a/relay/adaptor/xunfei/adaptor.go b/relay/adaptor/xunfei/adaptor.go index 3af97831..b5967f26 100644 --- a/relay/adaptor/xunfei/adaptor.go +++ b/relay/adaptor/xunfei/adaptor.go @@ -27,14 +27,6 @@ func (a *Adaptor) GetRequestURL(meta *meta.Meta) (string, error) { func (a *Adaptor) SetupRequestHeader(c *gin.Context, req *http.Request, meta *meta.Meta) error { adaptor.SetupCommonRequestHeader(c, req, meta) - version := parseAPIVersionByModelName(meta.ActualModelName) - if version == "" { - version = a.meta.Config.APIVersion - } - if version == "" { - version = "v1.1" - } - a.meta.Config.APIVersion = version // check DoResponse for auth part return nil } @@ -69,6 +61,14 @@ func (a *Adaptor) DoResponse(c *gin.Context, resp *http.Response, meta *meta.Met if a.request == nil { return nil, openai.ErrorWrapper(errors.New("request is nil"), "request_is_nil", http.StatusBadRequest) } + version := parseAPIVersionByModelName(meta.ActualModelName) + if version == "" { + version = a.meta.Config.APIVersion + } + if version == "" { + version = "v1.1" + } + a.meta.Config.APIVersion = version if meta.IsStream { err, usage = StreamHandler(c, meta, *a.request, splits[0], splits[1], splits[2]) } else { diff --git a/web/default/src/pages/Channel/EditChannel.js b/web/default/src/pages/Channel/EditChannel.js index ac0fed60..fb80a726 100644 --- a/web/default/src/pages/Channel/EditChannel.js +++ b/web/default/src/pages/Channel/EditChannel.js @@ -181,9 +181,6 @@ const EditChannel = () => { if (localInputs.type === 3 && localInputs.other === '') { localInputs.other = '2024-03-01-preview'; } - if (localInputs.type === 18 && localInputs.other === '') { - localInputs.other = 'v2.1'; - } let res; localInputs.models = localInputs.models.join(','); localInputs.group = localInputs.groups.join(',');