More flexible parsing of reasoning content

This commit is contained in:
Matt Rubens 2025-11-21 00:46:11 -05:00
parent ac1e922917
commit 2d9fded193

View file

@ -140,10 +140,15 @@ export abstract class BaseOpenAiCompatibleProvider<ModelName extends string>
}
}
if (delta && "reasoning_content" in delta) {
const reasoning_content = (delta.reasoning_content as string | undefined) || ""
if (reasoning_content?.trim()) {
yield { type: "reasoning", text: reasoning_content }
if (delta) {
for (const key of ["reasoning_content", "reasoning"] as const) {
if (key in delta) {
const reasoning_content = ((delta as any)[key] as string | undefined) || ""
if (reasoning_content?.trim()) {
yield { type: "reasoning", text: reasoning_content }
}
break
}
}
}