diff --git a/src/lib/components/notes/NoteEditor/Chat.svelte b/src/lib/components/notes/NoteEditor/Chat.svelte index 2430f602e1..f8e4b0c914 100644 --- a/src/lib/components/notes/NoteEditor/Chat.svelte +++ b/src/lib/components/notes/NoteEditor/Chat.svelte @@ -169,13 +169,20 @@ Based on the user's instruction, update and enhance the existing notes or select : '') + (selectedContent ? `\n${selectedContent?.text}` : ''); + // Filter out empty assistant placeholder messages to avoid sending + // an empty trailing assistant message as "response prefill", which is + // incompatible with enable_thinking in llama.cpp and similar backends. + const filteredMessages = messages.filter( + (m) => !(m.role === 'assistant' && m.content === '') + ); + const chatMessages = JSON.parse( JSON.stringify([ { role: 'system', content: `${system}` }, - ...messages + ...filteredMessages ]) );