Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
chenpangpang
open-webui
Commits
fb1f8b16
"...composable_kernel_rocm.git" did not exist on "ccf10794dad5aa37545508aa81a80067089dec13"
Unverified
Commit
fb1f8b16
authored
Dec 13, 2023
by
Timothy Jaeryang Baek
Committed by
GitHub
Dec 13, 2023
Browse files
Merge branch 'main' into multimodal
parents
0b1abf16
763448bc
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
192 additions
and
117 deletions
+192
-117
src/lib/components/chat/Messages.svelte
src/lib/components/chat/Messages.svelte
+26
-1
src/routes/(app)/+page.svelte
src/routes/(app)/+page.svelte
+83
-58
src/routes/(app)/c/[id]/+page.svelte
src/routes/(app)/c/[id]/+page.svelte
+83
-58
No files found.
src/lib/components/chat/Messages.svelte
View file @
fb1f8b16
...
@@ -655,7 +655,32 @@
...
@@ -655,7 +655,32 @@
</div>
</div>
{:else}
{:else}
<div
class=
"w-full"
>
<div
class=
"w-full"
>
{@html marked(message.content.replace('\\\\', '\\\\\\'))}
{#if message?.error === true}
<div
class=
"flex mt-2 mb-4 space-x-2 border px-4 py-3 border-red-800 bg-red-800/30 font-medium rounded-lg"
>
<svg
xmlns=
"http://www.w3.org/2000/svg"
fill=
"none"
viewBox=
"0 0 24 24"
stroke-width=
"1.5"
stroke=
"currentColor"
class=
"w-5 h-5 self-center"
>
<path
stroke-linecap=
"round"
stroke-linejoin=
"round"
d=
"M12 9v3.75m9-.75a9 9 0 11-18 0 9 9 0 0118 0zm-9 3.75h.008v.008H12v-.008z"
/>
</svg>
<div
class=
" self-center"
>
{message.content}
</div>
</div>
{:else}
{@html marked(message.content.replace('\\\\', '\\\\\\'))}
{/if}
{#if message.done}
{#if message.done}
<div
class=
" flex justify-start space-x-1 -mt-2"
>
<div
class=
" flex justify-start space-x-1 -mt-2"
>
...
...
src/routes/(app)/+page.svelte
View file @
fb1f8b16
...
@@ -158,82 +158,107 @@
...
@@ -158,82 +158,107 @@
},
},
format: $settings.requestFormat ?? undefined
format: $settings.requestFormat ?? undefined
})
})
}).catch((err) => {
console.log(err);
return null;
});
});
const reader = res.body
if (res && res.ok) {
.pipeThrough(new TextDecoderStream())
const reader = res.body
.pipeThrough(splitStream('\n'))
.pipeThrough(new TextDecoderStream())
.getReader();
.pipeThrough(splitStream('\n'))
.getReader();
while (true) {
const { value, done } = await reader.read();
while (true) {
if (done || stopResponseFlag || _chatId !== $chatId) {
const { value, done } = await reader.read();
responseMessage.done = true;
if (done || stopResponseFlag || _chatId !== $chatId) {
messages = messages;
responseMessage.done = true;
break;
messages = messages;
}
break;
}
try {
try {
let lines = value.split('\n');
let lines = value.split('\n');
for (const line of lines) {
for (const line of lines) {
if (line !== '') {
if (line !== '') {
console.log(line);
console.log(line);
let data = JSON.parse(line);
let data = JSON.parse(line);
if ('detail' in data) {
if ('detail' in data) {
throw data;
throw data;
}
}
if (data.done == false) {
if (data.done == false) {
if (responseMessage.content == '' && data.message.content == '\n') {
if (responseMessage.content == '' && data.message.content == '\n') {
continue;
continue;
} else {
responseMessage.content += data.message.content;
messages = messages;
}
} else {
} else {
responseMessage.content += data.message.content;
responseMessage.done = true;
responseMessage.context = data.context ?? null;
responseMessage.info = {
total_duration: data.total_duration,
prompt_eval_count: data.prompt_eval_count,
prompt_eval_duration: data.prompt_eval_duration,
eval_count: data.eval_count,
eval_duration: data.eval_duration
};
messages = messages;
messages = messages;
}
}
} else {
responseMessage.done = true;
responseMessage.context = data.context ?? null;
responseMessage.info = {
total_duration: data.total_duration,
prompt_eval_count: data.prompt_eval_count,
prompt_eval_duration: data.prompt_eval_duration,
eval_count: data.eval_count,
eval_duration: data.eval_duration
};
messages = messages;
}
}
}
}
} catch (error) {
console.log(error);
if ('detail' in error) {
toast.error(error.detail);
}
break;
}
}
} catch (error) {
if (autoScroll) {
window.scrollTo({ top: document.body.scrollHeight });
}
await $db.updateChatById(_chatId, {
title: title === '' ? 'New Chat' : title,
models: selectedModels,
system: $settings.system ?? undefined,
options: {
seed: $settings.seed ?? undefined,
temperature: $settings.temperature ?? undefined,
repeat_penalty: $settings.repeat_penalty ?? undefined,
top_k: $settings.top_k ?? undefined,
top_p: $settings.top_p ?? undefined,
num_ctx: $settings.num_ctx ?? undefined,
...($settings.options ?? {})
},
messages: messages,
history: history
});
}
} else {
if (res !== null) {
const error = await res.json();
console.log(error);
console.log(error);
if ('detail' in error) {
if ('detail' in error) {
toast.error(error.detail);
toast.error(error.detail);
responseMessage.content = error.detail;
} else {
toast.error(error.error);
responseMessage.content = error.error;
}
}
break;
} else {
toast.error(`Uh-oh! There was an issue connecting to Ollama.`);
responseMessage.content = `Uh-oh! There was an issue connecting to Ollama.`;
}
}
if (autoScroll) {
responseMessage.error = true;
window.scrollTo({ top: document.body.scrollHeight });
responseMessage.content = `Uh-oh! There was an issue connecting to Ollama.`;
}
responseMessage.done = true;
messages = messages;
await $db.updateChatById(_chatId, {
title: title === '' ? 'New Chat' : title,
models: selectedModels,
system: $settings.system ?? undefined,
options: {
seed: $settings.seed ?? undefined,
temperature: $settings.temperature ?? undefined,
repeat_penalty: $settings.repeat_penalty ?? undefined,
top_k: $settings.top_k ?? undefined,
top_p: $settings.top_p ?? undefined,
num_ctx: $settings.num_ctx ?? undefined,
...($settings.options ?? {})
},
messages: messages,
history: history
});
}
}
stopResponseFlag = false;
stopResponseFlag = false;
...
...
src/routes/(app)/c/[id]/+page.svelte
View file @
fb1f8b16
...
@@ -185,82 +185,107 @@
...
@@ -185,82 +185,107 @@
},
},
format: $settings.requestFormat ?? undefined
format: $settings.requestFormat ?? undefined
})
})
}).catch((err) => {
console.log(err);
return null;
});
});
const reader = res.body
if (res && res.ok) {
.pipeThrough(new TextDecoderStream())
const reader = res.body
.pipeThrough(splitStream('\n'))
.pipeThrough(new TextDecoderStream())
.getReader();
.pipeThrough(splitStream('\n'))
.getReader();
while (true) {
const { value, done } = await reader.read();
while (true) {
if (done || stopResponseFlag || _chatId !== $chatId) {
const { value, done } = await reader.read();
responseMessage.done = true;
if (done || stopResponseFlag || _chatId !== $chatId) {
messages = messages;
responseMessage.done = true;
break;
messages = messages;
}
break;
}
try {
try {
let lines = value.split('\n');
let lines = value.split('\n');
for (const line of lines) {
for (const line of lines) {
if (line !== '') {
if (line !== '') {
console.log(line);
console.log(line);
let data = JSON.parse(line);
let data = JSON.parse(line);
if ('detail' in data) {
if ('detail' in data) {
throw data;
throw data;
}
}
if (data.done == false) {
if (data.done == false) {
if (responseMessage.content == '' && data.message.content == '\n') {
if (responseMessage.content == '' && data.message.content == '\n') {
continue;
continue;
} else {
responseMessage.content += data.message.content;
messages = messages;
}
} else {
} else {
responseMessage.content += data.message.content;
responseMessage.done = true;
responseMessage.context = data.context ?? null;
responseMessage.info = {
total_duration: data.total_duration,
prompt_eval_count: data.prompt_eval_count,
prompt_eval_duration: data.prompt_eval_duration,
eval_count: data.eval_count,
eval_duration: data.eval_duration
};
messages = messages;
messages = messages;
}
}
} else {
responseMessage.done = true;
responseMessage.context = data.context ?? null;
responseMessage.info = {
total_duration: data.total_duration,
prompt_eval_count: data.prompt_eval_count,
prompt_eval_duration: data.prompt_eval_duration,
eval_count: data.eval_count,
eval_duration: data.eval_duration
};
messages = messages;
}
}
}
}
} catch (error) {
console.log(error);
if ('detail' in error) {
toast.error(error.detail);
}
break;
}
}
} catch (error) {
if (autoScroll) {
window.scrollTo({ top: document.body.scrollHeight });
}
await $db.updateChatById(_chatId, {
title: title === '' ? 'New Chat' : title,
models: selectedModels,
system: $settings.system ?? undefined,
options: {
seed: $settings.seed ?? undefined,
temperature: $settings.temperature ?? undefined,
repeat_penalty: $settings.repeat_penalty ?? undefined,
top_k: $settings.top_k ?? undefined,
top_p: $settings.top_p ?? undefined,
num_ctx: $settings.num_ctx ?? undefined,
...($settings.options ?? {})
},
messages: messages,
history: history
});
}
} else {
if (res !== null) {
const error = await res.json();
console.log(error);
console.log(error);
if ('detail' in error) {
if ('detail' in error) {
toast.error(error.detail);
toast.error(error.detail);
responseMessage.content = error.detail;
} else {
toast.error(error.error);
responseMessage.content = error.error;
}
}
break;
} else {
}
toast.error(`Uh-oh! There was an issue connecting to Ollama.`);
responseMessage.content = `Uh-oh! There was an issue connecting to Ollama.`;
if (autoScroll) {
window.scrollTo({ top: document.body.scrollHeight });
}
}
await $db.updateChatById(_chatId, {
responseMessage.error = true;
title: title === '' ? 'New Chat' : title,
responseMessage.content = `Uh-oh! There was an issue connecting to Ollama.`;
models: selectedModels,
responseMessage.done = true;
system: $settings.system ?? undefined,
messages = messages;
options: {
seed: $settings.seed ?? undefined,
temperature: $settings.temperature ?? undefined,
repeat_penalty: $settings.repeat_penalty ?? undefined,
top_k: $settings.top_k ?? undefined,
top_p: $settings.top_p ?? undefined,
num_ctx: $settings.num_ctx ?? undefined,
...($settings.options ?? {})
},
messages: messages,
history: history
});
}
}
stopResponseFlag = false;
stopResponseFlag = false;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment