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"),
});
let currentMessage = '';
const currentMessages = [];
const history = session.value.transcript
const llamaParams = {
@ -216,15 +216,12 @@
for await (const chunk of llama(prompt, llamaParams, { controller: controller.value })) {
const data = chunk.data;
currentMessage += data.content;
currentMessages.push(data);
// remove leading whitespace
currentMessage = currentMessage.replace(/^\s+/, "")
transcriptUpdate([...history, ["{{char}}", currentMessage]])
transcriptUpdate([...history, ["{{char}}", currentMessages]])
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) {
@ -288,8 +285,18 @@
}
}, [messages])
const chatLine = ([user, msg]) => {
return html`<p key=${msg}><strong>${template(user)}:</strong> <${Markdownish} text=${template(msg)} /></p>`
const chatLine = ([user, data], index) => {
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`
@ -390,6 +397,9 @@
</form>
`
}
const Probabilites = (params) => { /* Not implemented yet */ }
// poor mans markdown replacement
const Markdownish = (params) => {
const md = params.text