diff --git a/examples/server/public/index.html.gz b/examples/server/public/index.html.gz index 141e80920..8a01ef3ff 100644 Binary files a/examples/server/public/index.html.gz and b/examples/server/public/index.html.gz differ diff --git a/examples/server/webui/src/components/ChatMessage.tsx b/examples/server/webui/src/components/ChatMessage.tsx index ec72196ba..ce2cfb69b 100644 --- a/examples/server/webui/src/components/ChatMessage.tsx +++ b/examples/server/webui/src/components/ChatMessage.tsx @@ -47,18 +47,18 @@ export default function ChatMessage({ let actualContent = ''; let thought = ''; let isThinking = false; - let thinkSplit = msg.content.split('', 2); - actualContent += thinkSplit[0]; - while (thinkSplit[1] !== undefined) { + let [match, ...rest] = msg.content.split(''); + actualContent += match; + while (rest.length !== 0) { // tag found - thinkSplit = thinkSplit[1].split('', 2); - thought += thinkSplit[0]; + [match, ...rest] = rest.join('').split(''); + thought += thought !== '' ? '\n***\n' + match : match; isThinking = true; - if (thinkSplit[1] !== undefined) { + if (rest.length !== 0) { // closing tag found isThinking = false; - thinkSplit = thinkSplit[1].split('', 2); - actualContent += thinkSplit[0]; + [match, ...rest] = rest.join('').split(''); + actualContent += match; } } return { content: actualContent, thought, isThinking };