fix: ensure assistant messages always have reasoning on them for deepseek (#24180)

This commit is contained in:
Aiden Cline 2026-04-24 11:10:47 -04:00 committed by GitHub
parent 3062d3e070
commit 86715fecc4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -175,6 +175,24 @@ function normalizeMessages(
return result
}
// Deepseek requires all assistant messages to have reasoning on them
if (model.api.id.includes("deepseek")) {
msgs = msgs.map((msg) => {
if (msg.role !== "assistant") return msg
if (Array.isArray(msg.content)) {
if (msg.content.some((part) => part.type === "reasoning")) return msg
return { ...msg, content: [...msg.content, { type: "reasoning", text: "" }] }
}
return {
...msg,
content: [
...(msg.content ? [{ type: "text" as const, text: msg.content }] : []),
{ type: "reasoning" as const, text: "" },
],
}
})
}
if (typeof model.capabilities.interleaved === "object" && model.capabilities.interleaved.field) {
const field = model.capabilities.interleaved.field
return msgs.map((msg) => {