server : keep message data array & show in probabilites component

This commit is contained in:
Jhen 2023-08-02 15:43:33 +08:00
parent 7862118886
commit 6a8b9c27d4

View file

@ -206,7 +206,7 @@
history: session.value.transcript.flatMap(([name, message]) => template(session.value.historyTemplate, {name, message})).join("\n"), history: session.value.transcript.flatMap(([name, message]) => template(session.value.historyTemplate, {name, message})).join("\n"),
}); });
let currentMessage = ''; const currentMessages = [];
const history = session.value.transcript const history = session.value.transcript
const llamaParams = { const llamaParams = {
@ -216,15 +216,12 @@
for await (const chunk of llama(prompt, llamaParams, { controller: controller.value })) { for await (const chunk of llama(prompt, llamaParams, { controller: controller.value })) {
const data = chunk.data; const data = chunk.data;
currentMessage += data.content; currentMessages.push(data);
// remove leading whitespace transcriptUpdate([...history, ["{{char}}", currentMessages]])
currentMessage = currentMessage.replace(/^\s+/, "")
transcriptUpdate([...history, ["{{char}}", currentMessage]])
if (data.stop) { if (data.stop) {
console.log("Completion finished: '", currentMessage, "', summary: ", data); console.log("Completion finished: '", currentMessages.map(msg => msg.content).join(''), "', summary: ", data);
} }
if (data.timings) { if (data.timings) {
@ -288,8 +285,18 @@
} }
}, [messages]) }, [messages])
const chatLine = ([user, msg]) => { const chatLine = ([user, data], index) => {
return html`<p key=${msg}><strong>${template(user)}:</strong> <${Markdownish} text=${template(msg)} /></p>` let message
const isArrayMessage = Array.isArray(data)
if (isArrayMessage && data.every(msg => msg.completion_probabilities.length > 0)) {
message = html`<${Probabilites} data=${data} />`
} else {
const text = isArrayMessage ?
data.map(msg => msg.content).join('').replace(/^\s+/, '') :
data;
message = html`<${Markdownish} text=${template(text)} />`
}
return html`<p key=${index}><strong>${template(user)}:</strong> ${message}</p>`
}; };
return html` return html`
@ -390,6 +397,9 @@
</form> </form>
` `
} }
const Probabilites = (params) => { /* Not implemented yet */ }
// poor mans markdown replacement // poor mans markdown replacement
const Markdownish = (params) => { const Markdownish = (params) => {
const md = params.text const md = params.text