fix(openai_compat): preserve reasoning_content in serializeMessages
The serializeMessages() function was not preserving the reasoning_content field when serializing messages for vision API calls. This caused the TestProviderChat_PreservesReasoningContentInHistory test to fail. This fix ensures reasoning_content is included in both text-only messages and vision messages with media attachments. Co-authored-by: Zachary Guerrero <zack.grrr@gmail.com>
This commit is contained in:
parent
6997edc82e
commit
a4e5c391bd
1 changed files with 9 additions and 2 deletions
|
|
@ -209,6 +209,9 @@ func serializeMessages(messages []Message) []map[string]interface{} {
|
||||||
if len(m.ToolCalls) > 0 {
|
if len(m.ToolCalls) > 0 {
|
||||||
msg["tool_calls"] = m.ToolCalls
|
msg["tool_calls"] = m.ToolCalls
|
||||||
}
|
}
|
||||||
|
if m.ReasoningContent != "" {
|
||||||
|
msg["reasoning_content"] = m.ReasoningContent
|
||||||
|
}
|
||||||
result = append(result, msg)
|
result = append(result, msg)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
@ -228,10 +231,14 @@ func serializeMessages(messages []Message) []map[string]interface{} {
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
result = append(result, map[string]interface{}{
|
msg := map[string]interface{}{
|
||||||
"role": m.Role,
|
"role": m.Role,
|
||||||
"content": parts,
|
"content": parts,
|
||||||
})
|
}
|
||||||
|
if m.ReasoningContent != "" {
|
||||||
|
msg["reasoning_content"] = m.ReasoningContent
|
||||||
|
}
|
||||||
|
result = append(result, msg)
|
||||||
}
|
}
|
||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue