@lobehub/chat
Version:
Lobe Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.
28 lines (23 loc) • 1.01 kB
text/typescript
import { StateCreator } from 'zustand/vanilla';
import { knowledgeBaseService } from '@/services/knowledgeBase';
import { useFileStore } from '@/store/file';
import { KnowledgeBaseStore } from '@/store/knowledgeBase/store';
export interface KnowledgeBaseContentAction {
addFilesToKnowledgeBase: (knowledgeBaseId: string, ids: string[]) => Promise<void>;
removeFilesFromKnowledgeBase: (knowledgeBaseId: string, ids: string[]) => Promise<void>;
}
export const createContentSlice: StateCreator<
KnowledgeBaseStore,
[['zustand/devtools', never]],
[],
KnowledgeBaseContentAction
> = () => ({
addFilesToKnowledgeBase: async (knowledgeBaseId, ids) => {
await knowledgeBaseService.addFilesToKnowledgeBase(knowledgeBaseId, ids);
await useFileStore.getState().refreshFileList();
},
removeFilesFromKnowledgeBase: async (knowledgeBaseId, ids) => {
await knowledgeBaseService.removeFilesFromKnowledgeBase(knowledgeBaseId, ids);
await useFileStore.getState().refreshFileList();
},
});