mirror of
https://github.com/open-webui/open-webui.git
synced 2025-12-12 12:25:20 +00:00
refac: select action model behaviour
This commit is contained in:
parent
90257442e3
commit
3ff864eb63
5 changed files with 24 additions and 6 deletions
|
|
@ -438,6 +438,7 @@
|
||||||
<Message
|
<Message
|
||||||
{chatId}
|
{chatId}
|
||||||
bind:history
|
bind:history
|
||||||
|
{selectedModels}
|
||||||
messageId={message.id}
|
messageId={message.id}
|
||||||
idx={messageIdx}
|
idx={messageIdx}
|
||||||
{user}
|
{user}
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,8 @@
|
||||||
export let id;
|
export let id;
|
||||||
export let content;
|
export let content;
|
||||||
export let history;
|
export let history;
|
||||||
|
export let selectedModels = [];
|
||||||
|
|
||||||
export let model = null;
|
export let model = null;
|
||||||
export let sources = null;
|
export let sources = null;
|
||||||
|
|
||||||
|
|
@ -25,11 +27,10 @@
|
||||||
export let preview = false;
|
export let preview = false;
|
||||||
export let floatingButtons = true;
|
export let floatingButtons = true;
|
||||||
|
|
||||||
export let onSave = () => {};
|
export let onSave = (e) => {};
|
||||||
export let onSourceClick = () => {};
|
export let onSourceClick = (e) => {};
|
||||||
export let onTaskClick = () => {};
|
export let onTaskClick = (e) => {};
|
||||||
|
export let onAddMessages = (e) => {};
|
||||||
export let onAddMessages = () => {};
|
|
||||||
|
|
||||||
let contentContainerElement;
|
let contentContainerElement;
|
||||||
|
|
||||||
|
|
@ -125,6 +126,11 @@
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
{(selectedModels ?? []).includes(model?.id)
|
||||||
|
? model?.id
|
||||||
|
: (selectedModels ?? []).length > 0
|
||||||
|
? selectedModels.at(0)
|
||||||
|
: model?.id}
|
||||||
<div bind:this={contentContainerElement}>
|
<div bind:this={contentContainerElement}>
|
||||||
<Markdown
|
<Markdown
|
||||||
{id}
|
{id}
|
||||||
|
|
@ -192,7 +198,11 @@
|
||||||
<FloatingButtons
|
<FloatingButtons
|
||||||
bind:this={floatingButtonsElement}
|
bind:this={floatingButtonsElement}
|
||||||
{id}
|
{id}
|
||||||
model={model?.id}
|
model={(selectedModels ?? []).includes(model?.id)
|
||||||
|
? model?.id
|
||||||
|
: (selectedModels ?? []).length > 0
|
||||||
|
? selectedModels.at(0)
|
||||||
|
: model?.id}
|
||||||
messages={createMessagesList(history, id)}
|
messages={createMessagesList(history, id)}
|
||||||
onAdd={({ modelId, parentId, messages }) => {
|
onAdd={({ modelId, parentId, messages }) => {
|
||||||
console.log(modelId, parentId, messages);
|
console.log(modelId, parentId, messages);
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,7 @@
|
||||||
import UserMessage from './UserMessage.svelte';
|
import UserMessage from './UserMessage.svelte';
|
||||||
|
|
||||||
export let chatId;
|
export let chatId;
|
||||||
|
export let selectedModels = [];
|
||||||
export let idx = 0;
|
export let idx = 0;
|
||||||
|
|
||||||
export let history;
|
export let history;
|
||||||
|
|
@ -70,6 +71,7 @@
|
||||||
{chatId}
|
{chatId}
|
||||||
{history}
|
{history}
|
||||||
{messageId}
|
{messageId}
|
||||||
|
{selectedModels}
|
||||||
isLastMessage={messageId === history.currentId}
|
isLastMessage={messageId === history.currentId}
|
||||||
siblings={history.messages[history.messages[messageId].parentId]?.childrenIds ?? []}
|
siblings={history.messages[history.messages[messageId].parentId]?.childrenIds ?? []}
|
||||||
{gotoMessage}
|
{gotoMessage}
|
||||||
|
|
@ -92,6 +94,7 @@
|
||||||
bind:history
|
bind:history
|
||||||
{chatId}
|
{chatId}
|
||||||
{messageId}
|
{messageId}
|
||||||
|
{selectedModels}
|
||||||
isLastMessage={messageId === history?.currentId}
|
isLastMessage={messageId === history?.currentId}
|
||||||
{updateChat}
|
{updateChat}
|
||||||
{editMessage}
|
{editMessage}
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,7 @@
|
||||||
export let chatId;
|
export let chatId;
|
||||||
export let history;
|
export let history;
|
||||||
export let messageId;
|
export let messageId;
|
||||||
|
export let selectedModels = [];
|
||||||
|
|
||||||
export let isLastMessage;
|
export let isLastMessage;
|
||||||
export let readOnly = false;
|
export let readOnly = false;
|
||||||
|
|
@ -252,6 +253,7 @@
|
||||||
{chatId}
|
{chatId}
|
||||||
{history}
|
{history}
|
||||||
messageId={_messageId}
|
messageId={_messageId}
|
||||||
|
{selectedModels}
|
||||||
isLastMessage={true}
|
isLastMessage={true}
|
||||||
siblings={groupedMessageIds[modelIdx].messageIds}
|
siblings={groupedMessageIds[modelIdx].messageIds}
|
||||||
gotoMessage={(message, messageIdx) => gotoMessage(modelIdx, messageIdx)}
|
gotoMessage={(message, messageIdx) => gotoMessage(modelIdx, messageIdx)}
|
||||||
|
|
|
||||||
|
|
@ -106,6 +106,7 @@
|
||||||
export let chatId = '';
|
export let chatId = '';
|
||||||
export let history;
|
export let history;
|
||||||
export let messageId;
|
export let messageId;
|
||||||
|
export let selectedModels = [];
|
||||||
|
|
||||||
let message: MessageType = JSON.parse(JSON.stringify(history.messages[messageId]));
|
let message: MessageType = JSON.parse(JSON.stringify(history.messages[messageId]));
|
||||||
$: if (history.messages) {
|
$: if (history.messages) {
|
||||||
|
|
@ -795,6 +796,7 @@
|
||||||
<ContentRenderer
|
<ContentRenderer
|
||||||
id={message.id}
|
id={message.id}
|
||||||
{history}
|
{history}
|
||||||
|
{selectedModels}
|
||||||
content={message.content}
|
content={message.content}
|
||||||
sources={message.sources}
|
sources={message.sources}
|
||||||
floatingButtons={message?.done && !readOnly}
|
floatingButtons={message?.done && !readOnly}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue