mirror of
https://github.com/open-webui/open-webui
synced 2025-02-20 12:00:22 +00:00
fix: model knowledge
This commit is contained in:
parent
0c618b8145
commit
2e267b420a
@ -3,7 +3,9 @@
|
||||
import Selector from './Knowledge/Selector.svelte';
|
||||
import FileItem from '$lib/components/common/FileItem.svelte';
|
||||
|
||||
export let knowledge = [];
|
||||
export let selectedKnowledge = [];
|
||||
export let collections = [];
|
||||
|
||||
const i18n = getContext('i18n');
|
||||
</script>
|
||||
|
||||
@ -17,14 +19,18 @@
|
||||
</div>
|
||||
|
||||
<div class="flex flex-col">
|
||||
{#if knowledge?.length > 0}
|
||||
<div class=" flex items-center gap-2 mt-2">
|
||||
{#each knowledge as file, fileIdx}
|
||||
{#if selectedKnowledge?.length > 0}
|
||||
<div class=" flex flex-wrap items-center gap-2 mt-2">
|
||||
{#each selectedKnowledge as file, fileIdx}
|
||||
<FileItem
|
||||
{file}
|
||||
name={file.name}
|
||||
type={file?.legacy
|
||||
? `Legacy${file.type ? ` ${file.type}` : ''}`
|
||||
: (file?.type ?? 'Collection')}
|
||||
dismissible
|
||||
on:dismiss={(e) => {
|
||||
knowledge = knowledge.filter((_, idx) => idx !== fileIdx);
|
||||
selectedKnowledge = selectedKnowledge.filter((_, idx) => idx !== fileIdx);
|
||||
}}
|
||||
/>
|
||||
{/each}
|
||||
@ -33,16 +39,14 @@
|
||||
|
||||
<div class="flex flex-wrap text-sm font-medium gap-1.5 mt-2">
|
||||
<Selector
|
||||
bind:knowledge
|
||||
on:select={(e) => {
|
||||
const item = e.detail;
|
||||
|
||||
if (!knowledge.find((k) => k.name === item.name)) {
|
||||
knowledge = [
|
||||
...knowledge,
|
||||
if (!selectedKnowledge.find((k) => k.id === item.id)) {
|
||||
selectedKnowledge = [
|
||||
...selectedKnowledge,
|
||||
{
|
||||
...item,
|
||||
type: item?.type ?? 'doc'
|
||||
...item
|
||||
}
|
||||
];
|
||||
}
|
||||
|
@ -50,8 +50,6 @@
|
||||
...(item?.legacy || item?.meta?.legacy || item?.meta?.document ? { legacy: true } : {})
|
||||
};
|
||||
});
|
||||
|
||||
console.log(items);
|
||||
});
|
||||
</script>
|
||||
|
||||
|
@ -2,7 +2,15 @@
|
||||
import { v4 as uuidv4 } from 'uuid';
|
||||
import { toast } from 'svelte-sonner';
|
||||
import { goto } from '$app/navigation';
|
||||
import { settings, user, config, models, tools, functions } from '$lib/stores';
|
||||
import {
|
||||
settings,
|
||||
user,
|
||||
config,
|
||||
models,
|
||||
tools,
|
||||
functions,
|
||||
knowledge as _knowledge
|
||||
} from '$lib/stores';
|
||||
|
||||
import TurndownService from 'turndown';
|
||||
|
||||
@ -629,7 +637,7 @@
|
||||
</div>
|
||||
|
||||
<div class="my-2">
|
||||
<Knowledge bind:knowledge />
|
||||
<Knowledge bind:selectedKnowledge={knowledge} collections={$_knowledge} />
|
||||
</div>
|
||||
|
||||
<div class="my-2">
|
||||
|
@ -5,7 +5,15 @@
|
||||
|
||||
import { onMount, getContext } from 'svelte';
|
||||
import { page } from '$app/stores';
|
||||
import { settings, user, config, models, tools, functions } from '$lib/stores';
|
||||
import {
|
||||
settings,
|
||||
user,
|
||||
config,
|
||||
models,
|
||||
tools,
|
||||
functions,
|
||||
knowledge as _knowledge
|
||||
} from '$lib/stores';
|
||||
import { splitStream } from '$lib/utils';
|
||||
|
||||
import { getModelInfos, updateModelById } from '$lib/apis/models';
|
||||
@ -161,7 +169,25 @@
|
||||
: null;
|
||||
|
||||
if (model?.info?.meta?.knowledge) {
|
||||
knowledge = [...model?.info?.meta?.knowledge];
|
||||
console.log(model?.info?.meta?.knowledge);
|
||||
knowledge = [...model?.info?.meta?.knowledge].map((item) => {
|
||||
if (item?.collection_name) {
|
||||
return {
|
||||
id: item.collection_name,
|
||||
name: item.name,
|
||||
legacy: true
|
||||
};
|
||||
} else if (item?.collection_names) {
|
||||
return {
|
||||
name: item.name,
|
||||
type: 'collection',
|
||||
collection_names: item.collection_names,
|
||||
legacy: true
|
||||
};
|
||||
} else {
|
||||
return item;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (model?.info?.meta?.toolIds) {
|
||||
@ -558,7 +584,7 @@
|
||||
</div>
|
||||
|
||||
<div class="my-2">
|
||||
<Knowledge bind:knowledge />
|
||||
<Knowledge bind:selectedKnowledge={knowledge} collections={$_knowledge} />
|
||||
</div>
|
||||
|
||||
<div class="my-2">
|
||||
|
Loading…
Reference in New Issue
Block a user