🐛 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
|
||||
}
|
||||
|
||||
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
|
||||
|
||||
return &response.ChatCompletionResponse, nil
|
||||
|
@ -189,6 +189,14 @@ type ChatCompletionResponse struct {
|
||||
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 {
|
||||
var function *ChatCompletionToolCallsFunction
|
||||
var functions []*ChatCompletionToolCallsFunction
|
||||
|
Loading…
Reference in New Issue
Block a user