diff --git a/src/lib/components/workspace/Models/Knowledge.svelte b/src/lib/components/workspace/Models/Knowledge.svelte index 3ea8215ea..d2d57546b 100644 --- a/src/lib/components/workspace/Models/Knowledge.svelte +++ b/src/lib/components/workspace/Models/Knowledge.svelte @@ -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'); @@ -17,14 +19,18 @@
- {#if knowledge?.length > 0} -
- {#each knowledge as file, fileIdx} + {#if selectedKnowledge?.length > 0} +
+ {#each selectedKnowledge as file, fileIdx} { - knowledge = knowledge.filter((_, idx) => idx !== fileIdx); + selectedKnowledge = selectedKnowledge.filter((_, idx) => idx !== fileIdx); }} /> {/each} @@ -33,16 +39,14 @@
{ 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 } ]; } diff --git a/src/lib/components/workspace/Models/Knowledge/Selector.svelte b/src/lib/components/workspace/Models/Knowledge/Selector.svelte index 21196a914..30762bd2c 100644 --- a/src/lib/components/workspace/Models/Knowledge/Selector.svelte +++ b/src/lib/components/workspace/Models/Knowledge/Selector.svelte @@ -50,8 +50,6 @@ ...(item?.legacy || item?.meta?.legacy || item?.meta?.document ? { legacy: true } : {}) }; }); - - console.log(items); }); diff --git a/src/routes/(app)/workspace/models/create/+page.svelte b/src/routes/(app)/workspace/models/create/+page.svelte index a95ce7891..c15f6da5c 100644 --- a/src/routes/(app)/workspace/models/create/+page.svelte +++ b/src/routes/(app)/workspace/models/create/+page.svelte @@ -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 @@
- +
diff --git a/src/routes/(app)/workspace/models/edit/+page.svelte b/src/routes/(app)/workspace/models/edit/+page.svelte index 70a062326..eafc666dc 100644 --- a/src/routes/(app)/workspace/models/edit/+page.svelte +++ b/src/routes/(app)/workspace/models/edit/+page.svelte @@ -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 @@
- +