summaryrefslogtreecommitdiffstats
path: root/assets/playground.html
diff options
context:
space:
mode:
Diffstat (limited to 'assets/playground.html')
-rw-r--r--assets/playground.html22
1 files changed, 21 insertions, 1 deletions
diff --git a/assets/playground.html b/assets/playground.html
index d038bd1..06e2e62 100644
--- a/assets/playground.html
+++ b/assets/playground.html
@@ -1298,6 +1298,7 @@
messages = [...promptMessages, ...messages];
}
}
+ sanitizeMessages(messages);
const body = {
model: this.settings.model,
messages: messages,
@@ -1458,6 +1459,20 @@
return { system: prompt, cases: [] }
}
+ function sanitizeMessages(messages) {
+ let messagesLen = messages.length;
+ for (let i = 0; i < messagesLen; i++) {
+ const message = messages[i];
+ if (typeof message.content === "string" && message.role === "assistant" && i !== messagesLen - 1) {
+ message.content = stripThinkTag(message.content);
+ }
+ }
+ }
+
+ function stripThinkTag(text) {
+ return text.replace(/^\s*<think>([\s\S]*?)<\/think>(\s*|$)/g, '')
+ }
+
function convertImageToDataURL(imageFile) {
return new Promise((resolve, reject) => {
if (!imageFile) {
@@ -1494,7 +1509,12 @@
name: 'think',
level: 'block',
start(src) {
- return src.indexOf('<think>');
+ const match = /^(\s*)<think>/.exec(src);
+ if (match) {
+ return match[1].length
+ } else {
+ return -1;
+ }
},
tokenizer(src, tokens) {
const rule = /^\s*<think>([\s\S]*?)(<\/think>|$)/;