Fix OpenAI finish_reason values when empty (#4368)

This commit is contained in:
Jeffrey Morgan 2024-05-11 15:31:41 -07:00 committed by GitHub
parent 8080fbce35
commit 41ba3017fd
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -109,7 +109,12 @@ func toChatCompletion(id string, r api.ChatResponse) ChatCompletion {
Choices: []Choice{{ Choices: []Choice{{
Index: 0, Index: 0,
Message: Message{Role: r.Message.Role, Content: r.Message.Content}, Message: Message{Role: r.Message.Role, Content: r.Message.Content},
FinishReason: &r.DoneReason, FinishReason: func(reason string) *string {
if len(reason) > 0 {
return &reason
}
return nil
}(r.DoneReason),
}}, }},
Usage: Usage{ Usage: Usage{
// TODO: ollama returns 0 for prompt eval if the prompt was cached, but openai returns the actual count // TODO: ollama returns 0 for prompt eval if the prompt was cached, but openai returns the actual count
@ -127,13 +132,16 @@ func toChunk(id string, r api.ChatResponse) ChatCompletionChunk {
Created: time.Now().Unix(), Created: time.Now().Unix(),
Model: r.Model, Model: r.Model,
SystemFingerprint: "fp_ollama", SystemFingerprint: "fp_ollama",
Choices: []ChunkChoice{ Choices: []ChunkChoice{{
{
Index: 0, Index: 0,
Delta: Message{Role: "assistant", Content: r.Message.Content}, Delta: Message{Role: "assistant", Content: r.Message.Content},
FinishReason: &r.DoneReason, FinishReason: func(reason string) *string {
}, if len(reason) > 0 {
}, return &reason
}
return nil
}(r.DoneReason),
}},
} }
} }