From 59a835ede7d9325a3af55e26c47725b0c849bfe8 Mon Sep 17 00:00:00 2001 From: ybyang Date: Thu, 28 Nov 2024 18:05:38 +0800 Subject: [PATCH 1/3] support stream usage --- relay/adaptor/xunfei/main.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/relay/adaptor/xunfei/main.go b/relay/adaptor/xunfei/main.go index 6f100e8b..359cd49a 100644 --- a/relay/adaptor/xunfei/main.go +++ b/relay/adaptor/xunfei/main.go @@ -121,11 +121,12 @@ func streamResponseXunfei2OpenAI(xunfeiResponse *ChatResponse) *openai.ChatCompl choice.FinishReason = &constant.StopFinishReason } response := openai.ChatCompletionsStreamResponse{ - Id: fmt.Sprintf("chatcmpl-%s", random.GetUUID()), + Id: xunfeiResponse.Header.Sid, Object: "chat.completion.chunk", Created: helper.GetTimestamp(), Model: "SparkDesk", Choices: []openai.ChatCompletionsStreamResponseChoice{choice}, + Usage: &xunfeiResponse.Payload.Usage.Text, } return &response } From bb22dc066155f38a7f0aece5c6419c77adec2434 Mon Sep 17 00:00:00 2001 From: ybyang Date: Thu, 28 Nov 2024 18:14:45 +0800 Subject: [PATCH 2/3] support stream usage --- relay/adaptor/xunfei/main.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/relay/adaptor/xunfei/main.go b/relay/adaptor/xunfei/main.go index 359cd49a..c66ddf06 100644 --- a/relay/adaptor/xunfei/main.go +++ b/relay/adaptor/xunfei/main.go @@ -106,7 +106,7 @@ func responseXunfei2OpenAI(response *ChatResponse) *openai.TextResponse { return &fullTextResponse } -func streamResponseXunfei2OpenAI(xunfeiResponse *ChatResponse) *openai.ChatCompletionsStreamResponse { +func streamResponseXunfei2OpenAI(xunfeiResponse *ChatResponse, usage *model.Usage) *openai.ChatCompletionsStreamResponse { if len(xunfeiResponse.Payload.Choices.Text) == 0 { xunfeiResponse.Payload.Choices.Text = []ChatResponseTextItem{ { @@ -126,7 +126,7 @@ func streamResponseXunfei2OpenAI(xunfeiResponse *ChatResponse) *openai.ChatCompl Created: helper.GetTimestamp(), Model: "SparkDesk", Choices: []openai.ChatCompletionsStreamResponseChoice{choice}, - Usage: &xunfeiResponse.Payload.Usage.Text, + Usage: usage, } return &response } @@ -171,7 +171,7 @@ func StreamHandler(c *gin.Context, meta *meta.Meta, textRequest model.GeneralOpe usage.PromptTokens += xunfeiResponse.Payload.Usage.Text.PromptTokens usage.CompletionTokens += xunfeiResponse.Payload.Usage.Text.CompletionTokens usage.TotalTokens += xunfeiResponse.Payload.Usage.Text.TotalTokens - response := streamResponseXunfei2OpenAI(&xunfeiResponse) + response := streamResponseXunfei2OpenAI(&xunfeiResponse, &usage) jsonResponse, err := json.Marshal(response) if err != nil { logger.SysError("error marshalling stream response: " + err.Error()) From 49d4089d625551e49f165ebfa059b6e480eabf36 Mon Sep 17 00:00:00 2001 From: ybyang Date: Thu, 28 Nov 2024 18:05:38 +0800 Subject: [PATCH 3/3] feat: support stream usage for xunfei stream adaptor