fix:join content ignore seq
This commit is contained in:
parent
37ee58478a
commit
8fe0935357
@ -118,7 +118,7 @@ func responseXunfei2OpenAI(response *XunfeiChatResponse) *OpenAITextResponse {
|
|||||||
Role: "assistant",
|
Role: "assistant",
|
||||||
Content: response.Payload.Choices.Text[0].Content,
|
Content: response.Payload.Choices.Text[0].Content,
|
||||||
},
|
},
|
||||||
FinishReason: "stop",
|
FinishReason: stopFinishReason,
|
||||||
}
|
}
|
||||||
fullTextResponse := OpenAITextResponse{
|
fullTextResponse := OpenAITextResponse{
|
||||||
Object: "chat.completion",
|
Object: "chat.completion",
|
||||||
@ -216,22 +216,15 @@ func xunfeiHandler(c *gin.Context, textRequest GeneralOpenAIRequest, appId strin
|
|||||||
var usage Usage
|
var usage Usage
|
||||||
var content string
|
var content string
|
||||||
var xunfeiResponse XunfeiChatResponse
|
var xunfeiResponse XunfeiChatResponse
|
||||||
textMap := make(map[int]XunfeiChatResponseTextItem)
|
|
||||||
stop := false
|
stop := false
|
||||||
for !stop {
|
for !stop {
|
||||||
select {
|
select {
|
||||||
case xunfeiResponse = <-dataChan:
|
case xunfeiResponse = <-dataChan:
|
||||||
textMap[xunfeiResponse.Payload.Choices.Seq] = xunfeiResponse.Payload.Choices.Text[0]
|
content += xunfeiResponse.Payload.Choices.Text[0].Content
|
||||||
usage.PromptTokens += xunfeiResponse.Payload.Usage.Text.PromptTokens
|
usage.PromptTokens += xunfeiResponse.Payload.Usage.Text.PromptTokens
|
||||||
usage.CompletionTokens += xunfeiResponse.Payload.Usage.Text.CompletionTokens
|
usage.CompletionTokens += xunfeiResponse.Payload.Usage.Text.CompletionTokens
|
||||||
usage.TotalTokens += xunfeiResponse.Payload.Usage.Text.TotalTokens
|
usage.TotalTokens += xunfeiResponse.Payload.Usage.Text.TotalTokens
|
||||||
case stop = <-stopChan:
|
case stop = <-stopChan:
|
||||||
length := len(textMap)
|
|
||||||
for i := 0; i < length; i++ {
|
|
||||||
if text, ok := textMap[i]; ok {
|
|
||||||
content += text.Content
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -243,8 +236,7 @@ func xunfeiHandler(c *gin.Context, textRequest GeneralOpenAIRequest, appId strin
|
|||||||
return errorWrapper(err, "marshal_response_body_failed", http.StatusInternalServerError), nil
|
return errorWrapper(err, "marshal_response_body_failed", http.StatusInternalServerError), nil
|
||||||
}
|
}
|
||||||
c.Writer.Header().Set("Content-Type", "application/json")
|
c.Writer.Header().Set("Content-Type", "application/json")
|
||||||
_, err = c.Writer.Write(jsonResponse)
|
_, _ = c.Writer.Write(jsonResponse)
|
||||||
|
|
||||||
return nil, &usage
|
return nil, &usage
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -306,7 +298,6 @@ func getXunfeiAuthUrl(c *gin.Context, apiKey string, apiSecret string) (string,
|
|||||||
if apiVersion == "v2.1" {
|
if apiVersion == "v2.1" {
|
||||||
domain = "generalv2"
|
domain = "generalv2"
|
||||||
}
|
}
|
||||||
hostUrl := fmt.Sprintf("wss://spark-api.xf-yun.com/%s/chat", apiVersion)
|
authUrl := buildXunfeiAuthUrl(fmt.Sprintf("wss://spark-api.xf-yun.com/%s/chat", apiVersion), apiKey, apiSecret)
|
||||||
authUrl := buildXunfeiAuthUrl(hostUrl, apiKey, apiSecret)
|
|
||||||
return domain, authUrl
|
return domain, authUrl
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user