Merge pull request #642 from MartialBE/fix_gemini_thinking
fix: 修复gemini thinking在stream下会内容丢失
This commit is contained in:
@@ -236,13 +236,17 @@ func streamResponseGeminiChat2OpenAI(geminiResponse *GeminiChatResponse) *dto.Ch
|
|||||||
var choice dto.ChatCompletionsStreamResponseChoice
|
var choice dto.ChatCompletionsStreamResponseChoice
|
||||||
//choice.Delta.SetContentString(geminiResponse.GetResponseText())
|
//choice.Delta.SetContentString(geminiResponse.GetResponseText())
|
||||||
if len(geminiResponse.Candidates) > 0 && len(geminiResponse.Candidates[0].Content.Parts) > 0 {
|
if len(geminiResponse.Candidates) > 0 && len(geminiResponse.Candidates[0].Content.Parts) > 0 {
|
||||||
respFirst := geminiResponse.Candidates[0].Content.Parts[0]
|
respFirstParts := geminiResponse.Candidates[0].Content.Parts
|
||||||
if respFirst.FunctionCall != nil {
|
if respFirstParts[0].FunctionCall != nil {
|
||||||
// function response
|
// function response
|
||||||
choice.Delta.ToolCalls = getToolCalls(&geminiResponse.Candidates[0])
|
choice.Delta.ToolCalls = getToolCalls(&geminiResponse.Candidates[0])
|
||||||
} else {
|
} else {
|
||||||
// text response
|
// text response
|
||||||
choice.Delta.SetContentString(respFirst.Text)
|
var texts []string
|
||||||
|
for _, part := range respFirstParts {
|
||||||
|
texts = append(texts, part.Text)
|
||||||
|
}
|
||||||
|
choice.Delta.SetContentString(strings.Join(texts, "\n"))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var response dto.ChatCompletionsStreamResponse
|
var response dto.ChatCompletionsStreamResponse
|
||||||
|
|||||||
Reference in New Issue
Block a user