summaryrefslogtreecommitdiffstats
path: root/assets
diff options
context:
space:
mode:
Diffstat (limited to 'assets')
-rw-r--r--assets/arena.html22
-rw-r--r--assets/playground.html22
2 files changed, 42 insertions, 2 deletions
diff --git a/assets/arena.html b/assets/arena.html
index 31973eb..2296de2 100644
--- a/assets/arena.html
+++ b/assets/arena.html
@@ -870,6 +870,7 @@
});
}
}
+ sanitizeMessages(messages);
const body = {
model: chat.model,
messages: messages,
@@ -991,6 +992,20 @@
});
}
+ 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 setupMarked() {
const renderer = {
code({ text, lang }) {
@@ -1013,7 +1028,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>|$)/;
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>|$)/;