server : allow continue edit on completion mode
This commit is contained in:
parent
f28af0d81a
commit
f2b31451a5
2 changed files with 1588 additions and 1510 deletions
File diff suppressed because it is too large
Load diff
|
@ -473,6 +473,10 @@
|
|||
slot_id: slot_id,
|
||||
stop: [],
|
||||
}, "");
|
||||
session.value.prompt = session.value.transcript.map(([_, data]) =>
|
||||
Array.isArray(data) ? data.map(msg => msg.content).join('') : data
|
||||
).join('');
|
||||
session.value.transcript = [];
|
||||
}
|
||||
|
||||
const stop = (e) => {
|
||||
|
@ -572,6 +576,7 @@
|
|||
}
|
||||
}, [messages])
|
||||
|
||||
const isCompletionMode = session.value.type === 'completion'
|
||||
const chatLine = ([user, data], index) => {
|
||||
let message
|
||||
const isArrayMessage = Array.isArray(data)
|
||||
|
@ -581,20 +586,31 @@
|
|||
const text = isArrayMessage ?
|
||||
data.map(msg => msg.content).join('').replace(/^\s+/, '') :
|
||||
data;
|
||||
message = html`<${Markdownish} text=${template(text)} />`
|
||||
message = isCompletionMode ?
|
||||
text :
|
||||
html`<${Markdownish} text=${template(text)} />`
|
||||
}
|
||||
if (user) {
|
||||
return html`<p key=${index}><strong>${template(user)}:</strong> ${message}</p>`
|
||||
} else {
|
||||
return html`<p key=${index}>${message}</p>`
|
||||
return isCompletionMode ?
|
||||
html`<span key=${index}>${message}</span>` :
|
||||
html`<p key=${index}>${message}</p>`
|
||||
}
|
||||
};
|
||||
|
||||
const handleCompletionEdit = (e) => {
|
||||
session.value.prompt = e.target.innerText;
|
||||
session.value.transcript = [];
|
||||
}
|
||||
|
||||
return html`
|
||||
<section id="chat" ref=${container}>
|
||||
<div id="chat" ref=${container} key=${messages.length}>
|
||||
<img style="width: 60%;${!session.value.image_selected ? `display: none;` : ``}" src="${session.value.image_selected}"/>
|
||||
${messages.flatMap(chatLine)}
|
||||
</section>`;
|
||||
<span contenteditable=${isCompletionMode} ref=${container} oninput=${handleCompletionEdit} style="display:inline-block; white-space: pre-wrap;">
|
||||
${messages.flatMap(chatLine)}
|
||||
</span>
|
||||
</div>`;
|
||||
};
|
||||
|
||||
const ConfigForm = (props) => {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue