"vscode:/vscode.git/clone" did not exist on "f161045675da3182ced5fc87e51706157dd7f951"
Unverified Commit 13b0e7d6 authored by Timothy Jaeryang Baek's avatar Timothy Jaeryang Baek Committed by GitHub
Browse files

Merge pull request #4434 from open-webui/dev

0.3.13
parents 8d257ed5 c8badfe2
...@@ -112,7 +112,7 @@ ...@@ -112,7 +112,7 @@
url: OpenAIUrl, url: OpenAIUrl,
batch_size: OpenAIBatchSize batch_size: OpenAIBatchSize
} }
} }
: {}) : {})
}).catch(async (error) => { }).catch(async (error) => {
toast.error(error); toast.error(error);
......
...@@ -579,8 +579,8 @@ ...@@ -579,8 +579,8 @@
let selectedModelIds = modelId let selectedModelIds = modelId
? [modelId] ? [modelId]
: atSelectedModel !== undefined : atSelectedModel !== undefined
? [atSelectedModel.id] ? [atSelectedModel.id]
: selectedModels; : selectedModels;
// Create response messages for each selected model // Create response messages for each selected model
const responseMessageIds = {}; const responseMessageIds = {};
...@@ -739,11 +739,11 @@ ...@@ -739,11 +739,11 @@
? await getAndUpdateUserLocation(localStorage.token) ? await getAndUpdateUserLocation(localStorage.token)
: undefined : undefined
)}${ )}${
responseMessage?.userContext ?? null (responseMessage?.userContext ?? null)
? `\n\nUser Context:\n${responseMessage?.userContext ?? ''}` ? `\n\nUser Context:\n${responseMessage?.userContext ?? ''}`
: '' : ''
}` }`
} }
: undefined, : undefined,
...messages ...messages
] ]
...@@ -811,10 +811,10 @@ ...@@ -811,10 +811,10 @@
options: { options: {
...(params ?? $settings.params ?? {}), ...(params ?? $settings.params ?? {}),
stop: stop:
params?.stop ?? $settings?.params?.stop ?? undefined (params?.stop ?? $settings?.params?.stop ?? undefined)
? (params?.stop.split(',').map((token) => token.trim()) ?? $settings.params.stop).map( ? (params?.stop.split(',').map((token) => token.trim()) ?? $settings.params.stop).map(
(str) => decodeURIComponent(JSON.parse('"' + str.replace(/\"/g, '\\"') + '"')) (str) => decodeURIComponent(JSON.parse('"' + str.replace(/\"/g, '\\"') + '"'))
) )
: undefined, : undefined,
num_predict: params?.max_tokens ?? $settings?.params?.max_tokens ?? undefined, num_predict: params?.max_tokens ?? $settings?.params?.max_tokens ?? undefined,
repeat_penalty: repeat_penalty:
...@@ -877,6 +877,10 @@ ...@@ -877,6 +877,10 @@
} else { } else {
responseMessage.content += data.message.content; responseMessage.content += data.message.content;
if (navigator.vibrate && ($settings?.hapticFeedback ?? false)) {
navigator.vibrate(5);
}
const sentences = extractSentencesForAudio(responseMessage.content); const sentences = extractSentencesForAudio(responseMessage.content);
sentences.pop(); sentences.pop();
...@@ -1056,10 +1060,10 @@ ...@@ -1056,10 +1060,10 @@
stream: true, stream: true,
model: model.id, model: model.id,
stream_options: stream_options:
model.info?.meta?.capabilities?.usage ?? false (model.info?.meta?.capabilities?.usage ?? false)
? { ? {
include_usage: true include_usage: true
} }
: undefined, : undefined,
messages: [ messages: [
params?.system || $settings.system || (responseMessage?.userContext ?? null) params?.system || $settings.system || (responseMessage?.userContext ?? null)
...@@ -1072,11 +1076,11 @@ ...@@ -1072,11 +1076,11 @@
? await getAndUpdateUserLocation(localStorage.token) ? await getAndUpdateUserLocation(localStorage.token)
: undefined : undefined
)}${ )}${
responseMessage?.userContext ?? null (responseMessage?.userContext ?? null)
? `\n\nUser Context:\n${responseMessage?.userContext ?? ''}` ? `\n\nUser Context:\n${responseMessage?.userContext ?? ''}`
: '' : ''
}` }`
} }
: undefined, : undefined,
...messages ...messages
] ]
...@@ -1092,7 +1096,7 @@ ...@@ -1092,7 +1096,7 @@
text: text:
arr.length - 1 !== idx arr.length - 1 !== idx
? message.content ? message.content
: message?.raContent ?? message.content : (message?.raContent ?? message.content)
}, },
...message.files ...message.files
.filter((file) => file.type === 'image') .filter((file) => file.type === 'image')
...@@ -1103,20 +1107,20 @@ ...@@ -1103,20 +1107,20 @@
} }
})) }))
] ]
} }
: { : {
content: content:
arr.length - 1 !== idx arr.length - 1 !== idx
? message.content ? message.content
: message?.raContent ?? message.content : (message?.raContent ?? message.content)
}) })
})), })),
seed: params?.seed ?? $settings?.params?.seed ?? undefined, seed: params?.seed ?? $settings?.params?.seed ?? undefined,
stop: stop:
params?.stop ?? $settings?.params?.stop ?? undefined (params?.stop ?? $settings?.params?.stop ?? undefined)
? (params?.stop.split(',').map((token) => token.trim()) ?? $settings.params.stop).map( ? (params?.stop.split(',').map((token) => token.trim()) ?? $settings.params.stop).map(
(str) => decodeURIComponent(JSON.parse('"' + str.replace(/\"/g, '\\"') + '"')) (str) => decodeURIComponent(JSON.parse('"' + str.replace(/\"/g, '\\"') + '"'))
) )
: undefined, : undefined,
temperature: params?.temperature ?? $settings?.params?.temperature ?? undefined, temperature: params?.temperature ?? $settings?.params?.temperature ?? undefined,
top_p: params?.top_p ?? $settings?.params?.top_p ?? undefined, top_p: params?.top_p ?? $settings?.params?.top_p ?? undefined,
...@@ -1177,6 +1181,10 @@ ...@@ -1177,6 +1181,10 @@
} else { } else {
responseMessage.content += value; responseMessage.content += value;
if (navigator.vibrate && ($settings?.hapticFeedback ?? false)) {
navigator.vibrate(5);
}
const sentences = extractSentencesForAudio(responseMessage.content); const sentences = extractSentencesForAudio(responseMessage.content);
sentences.pop(); sentences.pop();
......
...@@ -9,6 +9,8 @@ ...@@ -9,6 +9,8 @@
import FileItem from '$lib/components/common/FileItem.svelte'; import FileItem from '$lib/components/common/FileItem.svelte';
import Collapsible from '$lib/components/common/Collapsible.svelte'; import Collapsible from '$lib/components/common/Collapsible.svelte';
import { user } from '$lib/stores';
export let models = []; export let models = [];
export let chatFiles = []; export let chatFiles = [];
...@@ -78,7 +80,7 @@ ...@@ -78,7 +80,7 @@
<Collapsible title={$i18n.t('Advanced Params')} open={true}> <Collapsible title={$i18n.t('Advanced Params')} open={true}>
<div class="text-sm mt-1.5" slot="content"> <div class="text-sm mt-1.5" slot="content">
<div> <div>
<AdvancedParams bind:params /> <AdvancedParams admin={$user?.role === 'admin'} bind:params />
</div> </div>
</div> </div>
</Collapsible> </Collapsible>
......
...@@ -609,10 +609,10 @@ ...@@ -609,10 +609,10 @@
style="font-size:{rmsLevel * 100 > 4 style="font-size:{rmsLevel * 100 > 4
? '4.5' ? '4.5'
: rmsLevel * 100 > 2 : rmsLevel * 100 > 2
? '4.25' ? '4.25'
: rmsLevel * 100 > 1 : rmsLevel * 100 > 1
? '3.75' ? '3.75'
: '3.5'}rem;width: 100%; text-align:center;" : '3.5'}rem;width: 100%; text-align:center;"
> >
{emoji} {emoji}
</div> </div>
...@@ -658,10 +658,10 @@ ...@@ -658,10 +658,10 @@
class=" {rmsLevel * 100 > 4 class=" {rmsLevel * 100 > 4
? ' size-[4.5rem]' ? ' size-[4.5rem]'
: rmsLevel * 100 > 2 : rmsLevel * 100 > 2
? ' size-16' ? ' size-16'
: rmsLevel * 100 > 1 : rmsLevel * 100 > 1
? 'size-14' ? 'size-14'
: 'size-12'} transition-all rounded-full {(model?.info?.meta : 'size-12'} transition-all rounded-full {(model?.info?.meta
?.profile_image_url ?? '/static/favicon.png') !== '/static/favicon.png' ?.profile_image_url ?? '/static/favicon.png') !== '/static/favicon.png'
? ' bg-cover bg-center bg-no-repeat' ? ' bg-cover bg-center bg-no-repeat'
: 'bg-black dark:bg-white'} bg-black dark:bg-white" : 'bg-black dark:bg-white'} bg-black dark:bg-white"
...@@ -691,10 +691,10 @@ ...@@ -691,10 +691,10 @@
style="font-size:{rmsLevel * 100 > 4 style="font-size:{rmsLevel * 100 > 4
? '13' ? '13'
: rmsLevel * 100 > 2 : rmsLevel * 100 > 2
? '12' ? '12'
: rmsLevel * 100 > 1 : rmsLevel * 100 > 1
? '11.5' ? '11.5'
: '11'}rem;width:100%;text-align:center;" : '11'}rem;width:100%;text-align:center;"
> >
{emoji} {emoji}
</div> </div>
...@@ -740,10 +740,10 @@ ...@@ -740,10 +740,10 @@
class=" {rmsLevel * 100 > 4 class=" {rmsLevel * 100 > 4
? ' size-52' ? ' size-52'
: rmsLevel * 100 > 2 : rmsLevel * 100 > 2
? 'size-48' ? 'size-48'
: rmsLevel * 100 > 1 : rmsLevel * 100 > 1
? 'size-[11.5rem]' ? 'size-[11.5rem]'
: 'size-44'} transition-all rounded-full {(model?.info?.meta : 'size-44'} transition-all rounded-full {(model?.info?.meta
?.profile_image_url ?? '/static/favicon.png') !== '/static/favicon.png' ?.profile_image_url ?? '/static/favicon.png') !== '/static/favicon.png'
? ' bg-cover bg-center bg-no-repeat' ? ' bg-cover bg-center bg-no-repeat'
: 'bg-black dark:bg-white'} " : 'bg-black dark:bg-white'} "
......
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
title: $i18n.t('All Documents'), title: $i18n.t('All Documents'),
collection_names: $documents.map((doc) => doc.collection_name) collection_names: $documents.map((doc) => doc.collection_name)
} }
] ]
: []), : []),
...$documents ...$documents
.reduce((a, e, i, arr) => { .reduce((a, e, i, arr) => {
......
...@@ -305,7 +305,7 @@ ...@@ -305,7 +305,7 @@
{#each messages as message, messageIdx} {#each messages as message, messageIdx}
<div class=" w-full {messageIdx === messages.length - 1 ? ' pb-12' : ''}"> <div class=" w-full {messageIdx === messages.length - 1 ? ' pb-12' : ''}">
<div <div
class="flex flex-col justify-between px-5 mb-3 {$settings?.widescreenMode ?? null class="flex flex-col justify-between px-5 mb-3 {($settings?.widescreenMode ?? null)
? 'max-w-full' ? 'max-w-full'
: 'max-w-5xl'} mx-auto rounded-lg group" : 'max-w-5xl'} mx-auto rounded-lg group"
> >
...@@ -317,10 +317,10 @@ ...@@ -317,10 +317,10 @@
{message} {message}
isFirstMessage={messageIdx === 0} isFirstMessage={messageIdx === 0}
siblings={message.parentId !== null siblings={message.parentId !== null
? history.messages[message.parentId]?.childrenIds ?? [] ? (history.messages[message.parentId]?.childrenIds ?? [])
: Object.values(history.messages) : (Object.values(history.messages)
.filter((message) => message.parentId === null) .filter((message) => message.parentId === null)
.map((message) => message.id) ?? []} .map((message) => message.id) ?? [])}
{confirmEditMessage} {confirmEditMessage}
{showPreviousMessage} {showPreviousMessage}
{showNextMessage} {showNextMessage}
......
...@@ -60,8 +60,8 @@ ...@@ -60,8 +60,8 @@
href={document?.metadata?.file_id href={document?.metadata?.file_id
? `/api/v1/files/${document?.metadata?.file_id}/content` ? `/api/v1/files/${document?.metadata?.file_id}/content`
: document.source.name.includes('http') : document.source.name.includes('http')
? document.source.name ? document.source.name
: `#`} : `#`}
target="_blank" target="_blank"
> >
{document?.metadata?.name ?? document.source.name} {document?.metadata?.name ?? document.source.name}
......
<script lang="ts">
import katex from 'katex';
import 'katex/contrib/mhchem';
export let content: string;
export let displayMode: boolean = false;
</script>
{@html katex.renderToString(content, { displayMode, throwOnError: false })}
...@@ -66,7 +66,7 @@ ...@@ -66,7 +66,7 @@
$: filteredItems = searchValue $: filteredItems = searchValue
? fuse.search(searchValue).map((e) => { ? fuse.search(searchValue).map((e) => {
return e.item; return e.item;
}) })
: items.filter((item) => !item.model?.info?.meta?.hidden); : items.filter((item) => !item.model?.info?.meta?.hidden);
const pullModelHandler = async () => { const pullModelHandler = async () => {
......
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
on:click={() => { on:click={() => {
valves[property] = valves[property] =
(valves[property] ?? null) === null (valves[property] ?? null) === null
? valvesSpec.properties[property]?.default ?? '' ? (valvesSpec.properties[property]?.default ?? '')
: null; : null;
dispatch('change'); dispatch('change');
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment