🐛 fix: repair the error caused by incomplete parameters in third-party OpenAI interface (#135)
This commit is contained in:
parent
6b018b405a
commit
a8891c0f72
@ -41,6 +41,17 @@ func (p *OpenAIProvider) CreateChatCompletion(request *types.ChatCompletionReque
|
|||||||
return nil, errWithCode
|
return nil, errWithCode
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if response.Usage == nil {
|
||||||
|
response.Usage = &types.Usage{
|
||||||
|
PromptTokens: p.Usage.PromptTokens,
|
||||||
|
CompletionTokens: 0,
|
||||||
|
TotalTokens: 0,
|
||||||
|
}
|
||||||
|
// 那么需要计算
|
||||||
|
response.Usage.CompletionTokens = common.CountTokenText(response.GetContent(), request.Model)
|
||||||
|
response.Usage.TotalTokens = response.Usage.PromptTokens + response.Usage.CompletionTokens
|
||||||
|
}
|
||||||
|
|
||||||
*p.Usage = *response.Usage
|
*p.Usage = *response.Usage
|
||||||
|
|
||||||
return &response.ChatCompletionResponse, nil
|
return &response.ChatCompletionResponse, nil
|
||||||
|
@ -189,6 +189,14 @@ type ChatCompletionResponse struct {
|
|||||||
PromptFilterResults any `json:"prompt_filter_results,omitempty"`
|
PromptFilterResults any `json:"prompt_filter_results,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (cc *ChatCompletionResponse) GetContent() string {
|
||||||
|
var content string
|
||||||
|
for _, choice := range cc.Choices {
|
||||||
|
content += choice.Message.StringContent()
|
||||||
|
}
|
||||||
|
return content
|
||||||
|
}
|
||||||
|
|
||||||
func (c ChatCompletionStreamChoice) ConvertOpenaiStream() []ChatCompletionStreamChoice {
|
func (c ChatCompletionStreamChoice) ConvertOpenaiStream() []ChatCompletionStreamChoice {
|
||||||
var function *ChatCompletionToolCallsFunction
|
var function *ChatCompletionToolCallsFunction
|
||||||
var functions []*ChatCompletionToolCallsFunction
|
var functions []*ChatCompletionToolCallsFunction
|
||||||
|
Loading…
Reference in New Issue
Block a user