diff --git a/relay/channel/openai/adaptor.go b/relay/channel/openai/adaptor.go index f64b8a4..cf14aee 100644 --- a/relay/channel/openai/adaptor.go +++ b/relay/channel/openai/adaptor.go @@ -71,10 +71,10 @@ func (a *Adaptor) DoRequest(c *gin.Context, info *relaycommon.RelayInfo, request func (a *Adaptor) DoResponse(c *gin.Context, resp *http.Response, info *relaycommon.RelayInfo) (usage *dto.Usage, err *dto.OpenAIErrorWithStatusCode) { if info.IsStream { var responseText string - err, responseText = openaiStreamHandler(c, resp, info.RelayMode) + err, responseText = OpenaiStreamHandler(c, resp, info.RelayMode) usage = service.ResponseText2Usage(responseText, info.UpstreamModelName, info.PromptTokens) } else { - err, usage = openaiHandler(c, resp, info.PromptTokens, info.UpstreamModelName) + err, usage = OpenaiHandler(c, resp, info.PromptTokens, info.UpstreamModelName) } return } diff --git a/relay/channel/openai/relay-openai.go b/relay/channel/openai/relay-openai.go index c0b6353..b0f3aa5 100644 --- a/relay/channel/openai/relay-openai.go +++ b/relay/channel/openai/relay-openai.go @@ -16,7 +16,7 @@ import ( "time" ) -func openaiStreamHandler(c *gin.Context, resp *http.Response, relayMode int) (*dto.OpenAIErrorWithStatusCode, string) { +func OpenaiStreamHandler(c *gin.Context, resp *http.Response, relayMode int) (*dto.OpenAIErrorWithStatusCode, string) { var responseTextBuilder strings.Builder scanner := bufio.NewScanner(resp.Body) scanner.Split(func(data []byte, atEOF bool) (advance int, token []byte, err error) { @@ -111,7 +111,7 @@ func openaiStreamHandler(c *gin.Context, resp *http.Response, relayMode int) (*d return nil, responseTextBuilder.String() } -func openaiHandler(c *gin.Context, resp *http.Response, promptTokens int, model string) (*dto.OpenAIErrorWithStatusCode, *dto.Usage) { +func OpenaiHandler(c *gin.Context, resp *http.Response, promptTokens int, model string) (*dto.OpenAIErrorWithStatusCode, *dto.Usage) { var textResponse dto.TextResponse responseBody, err := io.ReadAll(resp.Body) if err != nil { diff --git a/relay/channel/zhipu_v4/adaptor.go b/relay/channel/zhipu_4v/adaptor.go similarity index 80% rename from relay/channel/zhipu_v4/adaptor.go rename to relay/channel/zhipu_4v/adaptor.go index 076c024..546b048 100644 --- a/relay/channel/zhipu_v4/adaptor.go +++ b/relay/channel/zhipu_4v/adaptor.go @@ -1,4 +1,4 @@ -package zhipu_v4 +package zhipu_4v import ( "errors" @@ -8,7 +8,9 @@ import ( "net/http" "one-api/dto" "one-api/relay/channel" + "one-api/relay/channel/openai" relaycommon "one-api/relay/common" + "one-api/service" ) type Adaptor struct { @@ -41,9 +43,11 @@ func (a *Adaptor) DoRequest(c *gin.Context, info *relaycommon.RelayInfo, request func (a *Adaptor) DoResponse(c *gin.Context, resp *http.Response, info *relaycommon.RelayInfo) (usage *dto.Usage, err *dto.OpenAIErrorWithStatusCode) { if info.IsStream { - err, usage = zhipuStreamHandler(c, resp) + var responseText string + err, responseText = openai.OpenaiStreamHandler(c, resp, info.RelayMode) + usage = service.ResponseText2Usage(responseText, info.UpstreamModelName, info.PromptTokens) } else { - err, usage = zhipuHandler(c, resp) + err, usage = openai.OpenaiHandler(c, resp, info.PromptTokens, info.UpstreamModelName) } return } diff --git a/relay/channel/zhipu_v4/constants.go b/relay/channel/zhipu_4v/constants.go similarity index 58% rename from relay/channel/zhipu_v4/constants.go rename to relay/channel/zhipu_4v/constants.go index 756629a..1b0b0cc 100644 --- a/relay/channel/zhipu_v4/constants.go +++ b/relay/channel/zhipu_4v/constants.go @@ -1,7 +1,7 @@ -package zhipu_v4 +package zhipu_4v var ModelList = []string{ "glm-4", "glm-4v", "glm-3-turbo", } -var ChannelName = "zhipu_v4" +var ChannelName = "zhipu_4v" diff --git a/relay/channel/zhipu_v4/dto.go b/relay/channel/zhipu_4v/dto.go similarity index 99% rename from relay/channel/zhipu_v4/dto.go rename to relay/channel/zhipu_4v/dto.go index b17a89f..4d86767 100644 --- a/relay/channel/zhipu_v4/dto.go +++ b/relay/channel/zhipu_4v/dto.go @@ -1,4 +1,4 @@ -package zhipu_v4 +package zhipu_4v import ( "one-api/dto" diff --git a/relay/channel/zhipu_v4/relay-zhipu_v4.go b/relay/channel/zhipu_4v/relay-zhipu_v4.go similarity index 99% rename from relay/channel/zhipu_v4/relay-zhipu_v4.go rename to relay/channel/zhipu_4v/relay-zhipu_v4.go index dde1b5f..af9b1d8 100644 --- a/relay/channel/zhipu_v4/relay-zhipu_v4.go +++ b/relay/channel/zhipu_4v/relay-zhipu_v4.go @@ -1,4 +1,4 @@ -package zhipu_v4 +package zhipu_4v import ( "bufio" diff --git a/relay/relay_adaptor.go b/relay/relay_adaptor.go index 328b1e6..cc76270 100644 --- a/relay/relay_adaptor.go +++ b/relay/relay_adaptor.go @@ -11,7 +11,7 @@ import ( "one-api/relay/channel/tencent" "one-api/relay/channel/xunfei" "one-api/relay/channel/zhipu" - "one-api/relay/channel/zhipu_v4" + "one-api/relay/channel/zhipu_4v" "one-api/relay/constant" ) @@ -38,7 +38,7 @@ func GetAdaptor(apiType int) channel.Adaptor { case constant.APITypeZhipu: return &zhipu.Adaptor{} case constant.APITypeZhipu_v4: - return &zhipu_v4.Adaptor{} + return &zhipu_4v.Adaptor{} } return nil }