diff --git a/admin/inertia/components/chat/KnowledgeBaseModal.tsx b/admin/inertia/components/chat/KnowledgeBaseModal.tsx index 81b9658..33d709e 100644 --- a/admin/inertia/components/chat/KnowledgeBaseModal.tsx +++ b/admin/inertia/components/chat/KnowledgeBaseModal.tsx @@ -10,6 +10,7 @@ import { IconX } from '@tabler/icons-react' import { useModals } from '~/context/ModalContext' import StyledModal from '../StyledModal' import ActiveEmbedJobs from '~/components/ActiveEmbedJobs' +import { useSystemSetting } from '~/hooks/useSystemSetting' interface KnowledgeBaseModalProps { aiAssistantName?: string @@ -29,6 +30,13 @@ export default function KnowledgeBaseModal({ aiAssistantName = "AI Assistant", o const { openModal, closeModal } = useModals() const queryClient = useQueryClient() + const DEFAULT_MAX_FILE_SIZE_MB = 100 + const { data: maxFileSizeSetting } = useSystemSetting({ key: 'rag.maxFileSizeMB' }) + const maxFileSizeMB = maxFileSizeSetting?.value + ? Number(maxFileSizeSetting.value) + : DEFAULT_MAX_FILE_SIZE_MB + const maxFileSize = maxFileSizeMB * 1024 * 1024 + const { data: storedFiles = [], isLoading: isLoadingFiles } = useQuery({ queryKey: ['storedFiles'], queryFn: () => api.getStoredRAGFiles(), @@ -134,6 +142,7 @@ export default function KnowledgeBaseModal({ aiAssistantName = "AI Assistant", o ref={fileUploaderRef} minFiles={1} maxFiles={1} + maxFileSize={maxFileSize} onUpload={(uploadedFiles) => { setFiles(Array.from(uploadedFiles)) }} diff --git a/admin/inertia/components/file-uploader/index.tsx b/admin/inertia/components/file-uploader/index.tsx index 0dac08a..7d37d4f 100644 --- a/admin/inertia/components/file-uploader/index.tsx +++ b/admin/inertia/components/file-uploader/index.tsx @@ -29,7 +29,7 @@ const FileUploader = forwardRef((props, ref) const { minFiles = 0, maxFiles = 1, - maxFileSize = 10485760, // default to 10MB + maxFileSize = 104857600, // default to 100MB fileTypes, disabled = false, onUpload, diff --git a/admin/types/kv_store.ts b/admin/types/kv_store.ts index 557091b..aa3c7ea 100644 --- a/admin/types/kv_store.ts +++ b/admin/types/kv_store.ts @@ -8,6 +8,7 @@ export const KV_STORE_SCHEMA = { 'system.earlyAccess': 'boolean', 'ui.hasVisitedEasySetup': 'boolean', 'ai.assistantCustomName': 'string', + 'rag.maxFileSizeMB': 'string', } as const type KVTagToType = T extends 'boolean' ? boolean : string