From e8d4384cd2099d02394ad48e465cae2b9b4c95f1 Mon Sep 17 00:00:00 2001 From: Benson Wong Date: Sun, 26 Apr 2026 13:11:48 -0700 Subject: [PATCH] ui-svelte: support reasoning and reasoning_content (#708) Support `reasoning` v1/chat/completion delta that vLLM uses. --- ui-svelte/src/components/CaptureDialog.svelte | 1 + ui-svelte/src/lib/chatApi.ts | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/ui-svelte/src/components/CaptureDialog.svelte b/ui-svelte/src/components/CaptureDialog.svelte index 088bbd8e..93458f1f 100644 --- a/ui-svelte/src/components/CaptureDialog.svelte +++ b/ui-svelte/src/components/CaptureDialog.svelte @@ -106,6 +106,7 @@ const delta = parsed.choices?.[0]?.delta; if (delta?.content) result.content += delta.content; if (delta?.reasoning_content) result.reasoning += delta.reasoning_content; + if (delta?.reasoning) result.reasoning += delta.reasoning; } catch { // skip unparseable lines } diff --git a/ui-svelte/src/lib/chatApi.ts b/ui-svelte/src/lib/chatApi.ts index 6f0f4707..f465f232 100644 --- a/ui-svelte/src/lib/chatApi.ts +++ b/ui-svelte/src/lib/chatApi.ts @@ -25,7 +25,7 @@ function parseSSELine(line: string): StreamChunk | null { const parsed = JSON.parse(data); const delta = parsed.choices?.[0]?.delta; const content = delta?.content || ""; - const reasoning_content = delta?.reasoning_content || ""; + const reasoning_content = delta?.reasoning_content || delta?.reasoning || ""; if (content || reasoning_content) { return { content, reasoning_content, done: false };