From ce933357c6e4d441afd7d1ee2b9c52914718acc9 Mon Sep 17 00:00:00 2001 From: balibabu Date: Wed, 29 Apr 2026 14:37:48 +0800 Subject: [PATCH] Fix: Dataset: When configuring the "general chunk method," options such as chunk size and parent-child slicing are unavailable. (#14459) ### What problem does this PR solve? Fix: Dataset: When configuring the "general chunk method," options such as chunk size and parent-child slicing are unavailable. ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue) --------- Co-authored-by: balibabu --- api/apps/services/dataset_api_service.py | 2 + web/src/components/knowledge-base-item.tsx | 4 +- web/src/components/pdf-drawer/index.tsx | 2 +- web/src/hooks/logic-hooks.ts | 2 +- web/src/hooks/use-chunk-request.ts | 2 +- web/src/hooks/use-document-request.ts | 2 +- web/src/hooks/use-knowledge-request.ts | 10 +- web/src/hooks/use-user-setting-request.tsx | 3 +- web/src/interfaces/database/agent.ts | 4 +- web/src/interfaces/database/dataset.ts | 143 ++++++++++++- web/src/interfaces/database/knowledge.ts | 194 ------------------ .../components/publish-confirm-dialog.tsx | 4 +- .../components/chunk-card/index.tsx | 4 +- .../components/chunk-creating-modal/index.tsx | 2 +- .../components/knowledge-chunk/hooks.ts | 2 +- .../components/chunk-card/index.tsx | 4 +- .../contexts/knowledge-base-context.tsx | 6 +- .../components/link-data-source-modal.tsx | 2 +- .../components/link-data-source.tsx | 2 +- .../pages/dataset/dataset-setting/hooks.ts | 6 +- .../pages/dataset/dataset-setting/index.tsx | 26 +-- web/src/pages/dataset/dataset/index.tsx | 2 +- web/src/pages/dataset/sidebar/index.tsx | 8 +- .../pages/dataset/testing/testing-result.tsx | 2 +- .../document-preview-modal/index.tsx | 2 +- web/src/pages/next-search/hooks.ts | 2 +- web/src/services/knowledge-service.ts | 2 +- web/src/utils/document-util.ts | 2 +- web/src/utils/request.ts | 4 + 29 files changed, 200 insertions(+), 250 deletions(-) delete mode 100644 web/src/interfaces/database/knowledge.ts diff --git a/api/apps/services/dataset_api_service.py b/api/apps/services/dataset_api_service.py index c0a12c4cf3..3d062ab599 100644 --- a/api/apps/services/dataset_api_service.py +++ b/api/apps/services/dataset_api_service.py @@ -197,6 +197,8 @@ def get_dataset(dataset_id: str, tenant_id: str): return False, "Invalid Dataset ID" response_data = remap_dictionary_keys(kb.to_dict()) + response_data["size"] = DocumentService.get_total_size_by_kb_id(dataset_id) + response_data["connectors"] = list(Connector2KbService.list_connectors(dataset_id)) return True, response_data diff --git a/web/src/components/knowledge-base-item.tsx b/web/src/components/knowledge-base-item.tsx index decda8d00a..a161f8036f 100644 --- a/web/src/components/knowledge-base-item.tsx +++ b/web/src/components/knowledge-base-item.tsx @@ -1,6 +1,6 @@ import { DocumentParserType } from '@/constants/knowledge'; import { useFetchKnowledgeList } from '@/hooks/use-knowledge-request'; -import { IKnowledge } from '@/interfaces/database/knowledge'; +import { IDataset } from '@/interfaces/database/dataset'; import { useBuildQueryVariableOptions } from '@/pages/agent/hooks/use-get-begin-query'; import { toLower } from 'lodash'; import { useMemo } from 'react'; @@ -35,7 +35,7 @@ export function useDisableDifferenceEmbeddingDataset(name: string) { const nextOptions = useMemo(() => { const datasetListMap = datasetListOrigin .filter((x) => x.chunk_method !== DocumentParserType.Tag) - .map((item: IKnowledge) => { + .map((item: IDataset) => { return { label: item.name, icon: () => ( diff --git a/web/src/components/pdf-drawer/index.tsx b/web/src/components/pdf-drawer/index.tsx index 2d54da7f45..3557e130c7 100644 --- a/web/src/components/pdf-drawer/index.tsx +++ b/web/src/components/pdf-drawer/index.tsx @@ -4,7 +4,7 @@ import { } from '@/hooks/use-document-request'; import { IModalProps } from '@/interfaces/common'; import { IReferenceChunk } from '@/interfaces/database/chat'; -import { IChunk } from '@/interfaces/database/knowledge'; +import { IChunk } from '@/interfaces/database/dataset'; import { cn } from '@/lib/utils'; import PdfPreview from '../document-preview/pdf-preview'; import { Sheet, SheetContent, SheetHeader, SheetTitle } from '../ui/sheet'; diff --git a/web/src/hooks/logic-hooks.ts b/web/src/hooks/logic-hooks.ts index dd4e6446f4..bbd0220244 100644 --- a/web/src/hooks/logic-hooks.ts +++ b/web/src/hooks/logic-hooks.ts @@ -10,7 +10,7 @@ import { IMessage, Message, } from '@/interfaces/database/chat'; -import { IKnowledgeFile } from '@/interfaces/database/knowledge'; +import { IKnowledgeFile } from '@/interfaces/database/dataset'; import { changeLanguageAsync } from '@/locales/config'; import api from '@/utils/api'; import { getAuthorization } from '@/utils/authorization-util'; diff --git a/web/src/hooks/use-chunk-request.ts b/web/src/hooks/use-chunk-request.ts index ed4050512e..ac1b11c630 100644 --- a/web/src/hooks/use-chunk-request.ts +++ b/web/src/hooks/use-chunk-request.ts @@ -1,7 +1,7 @@ import message from '@/components/ui/message'; import { PaginationProps } from '@/interfaces/antd-compat'; import { ResponseGetType, ResponseType } from '@/interfaces/database/base'; -import { IChunk, IKnowledgeFile } from '@/interfaces/database/knowledge'; +import { IChunk, IKnowledgeFile } from '@/interfaces/database/dataset'; import kbService from '@/services/knowledge-service'; import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query'; import { useDebounce } from 'ahooks'; diff --git a/web/src/hooks/use-document-request.ts b/web/src/hooks/use-document-request.ts index 65257ae56e..bb447e6c64 100644 --- a/web/src/hooks/use-document-request.ts +++ b/web/src/hooks/use-document-request.ts @@ -4,11 +4,11 @@ import message from '@/components/ui/message'; import { RunningStatus } from '@/constants/knowledge'; import { ResponseType } from '@/interfaces/database/base'; import { IReferenceChunk } from '@/interfaces/database/chat'; +import { IChunk } from '@/interfaces/database/dataset'; import { IDocumentInfo, IDocumentInfoFilter, } from '@/interfaces/database/document'; -import { IChunk } from '@/interfaces/database/knowledge'; import { IChangeParserConfigRequestBody, IDocumentMetaRequestBody, diff --git a/web/src/hooks/use-knowledge-request.ts b/web/src/hooks/use-knowledge-request.ts index 2c7040d565..782b1282f6 100644 --- a/web/src/hooks/use-knowledge-request.ts +++ b/web/src/hooks/use-knowledge-request.ts @@ -2,14 +2,14 @@ import { useHandleFilterSubmit } from '@/components/list-filter-bar/use-handle-f import message from '@/components/ui/message'; import { ParseType } from '@/constants/knowledge'; import { ResponsePostType } from '@/interfaces/database/base'; -import { IDataset, IDatasetListResult } from '@/interfaces/database/dataset'; import { - IKnowledge, + IDataset, + IDatasetListResult, IKnowledgeGraph, INextTestingResult, IRenameTag, ITestingResult, -} from '@/interfaces/database/knowledge'; +} from '@/interfaces/database/dataset'; import { ITestRetrievalRequestBody } from '@/interfaces/request/knowledge'; import i18n from '@/locales/config'; import kbService, { @@ -328,9 +328,9 @@ export const useFetchKnowledgeBaseConfiguration = (props?: { const [searchParams] = useSearchParams(); const knowledgeBaseId = searchParams.get('id') || id; - const { data, isFetching: loading } = useQuery({ + const { data, isFetching: loading } = useQuery({ queryKey: [KnowledgeApiAction.FetchKnowledgeDetail, knowledgeBaseId], - initialData: {} as IKnowledge, + initialData: {} as IDataset, gcTime: 0, enabled: !!knowledgeBaseId && isEdit, queryFn: async () => { diff --git a/web/src/hooks/use-user-setting-request.tsx b/web/src/hooks/use-user-setting-request.tsx index b1f1b6bdb7..b7d6eb6bca 100644 --- a/web/src/hooks/use-user-setting-request.tsx +++ b/web/src/hooks/use-user-setting-request.tsx @@ -2,7 +2,7 @@ import message from '@/components/ui/message'; import { Modal } from '@/components/ui/modal/modal'; import { ResponseGetType } from '@/interfaces/database/base'; import { IToken } from '@/interfaces/database/chat'; -import { ITenantInfo } from '@/interfaces/database/knowledge'; +import { ITenantInfo } from '@/interfaces/database/dataset'; import { ILangfuseConfig } from '@/interfaces/database/system'; import { ITenant, @@ -213,6 +213,7 @@ export const useFetchSystemVersion = () => { setLoading(false); } } catch (error) { + console.warn(error); setLoading(false); } }, []); diff --git a/web/src/interfaces/database/agent.ts b/web/src/interfaces/database/agent.ts index 97e8324b33..f548bd6a44 100644 --- a/web/src/interfaces/database/agent.ts +++ b/web/src/interfaces/database/agent.ts @@ -33,7 +33,7 @@ export interface ISwitchForm { import { AgentCategory } from '@/constants/agent'; import { Edge, Node } from '@xyflow/react'; import { IReference, Message } from './chat'; -import { IKnowledge } from './knowledge'; +import { IDataset } from './dataset'; export type DSLComponents = Record; @@ -81,7 +81,7 @@ export declare interface IFlow { release?: boolean; release_time?: number; last_publish_time?: number; - datasets?: Pick[]; + datasets?: Pick[]; } export interface IFlowTemplate { diff --git a/web/src/interfaces/database/dataset.ts b/web/src/interfaces/database/dataset.ts index e49cca5140..ebded8b089 100644 --- a/web/src/interfaces/database/dataset.ts +++ b/web/src/interfaces/database/dataset.ts @@ -1,6 +1,17 @@ // for the dataset list // The data structures returned by the `datasets` interface and `/api/v1/datasets/{id}` are inconsistent. +import { RunningStatus } from '@/constants/knowledge'; +import { DataSourceKey } from '@/pages/user-setting/data-source/constant'; + +export interface IConnector { + id: string; + name: string; + status: RunningStatus; + source: DataSourceKey; + auto_parse?: '0' | '1'; +} + export interface IDataset { avatar?: string; chunk_count: number; @@ -11,7 +22,8 @@ export interface IDataset { description?: string; document_count: number; embedding_model: string; - graphrag_task_finish_at: null; + size?: number; + graphrag_task_finish_at: string; graphrag_task_id: Nullable; id: string; language: string; @@ -34,6 +46,7 @@ export interface IDataset { update_date: string; update_time: number; vector_similarity_weight: number; + connectors: IConnector[]; } interface Parserconfig { @@ -42,14 +55,20 @@ interface Parserconfig { children_delimiter: string; chunk_token_num: number; delimiter: string; + from_page?: number; + to_page?: number; graphrag: Graphrag; html4excel: boolean; image_context_size: number; layout_recognize: string; llm_id: string; + metadata?: any; + built_in_metadata?: Array<{ key: string; type: string }>; + enable_metadata?: boolean; parent_child: Parentchild; raptor: Raptor; table_context_size: number; + tag_kb_ids?: string[]; topn_tags: number; } @@ -77,3 +96,125 @@ export interface IDatasetListResult { kbs: IDataset[]; total_datasets: number; } + +// Types migrated from knowledge.ts + +export interface IKnowledgeFileParserConfig { + chunk_token_num: number; + layout_recognize: boolean; + pages: number[][]; + task_page_size: number; +} + +export interface IKnowledgeFile { + chunk_num: number; + create_date: string; + create_time: number; + created_by: string; + id: string; + kb_id: string; + location: string; + name: string; + parser_id: string; + process_begin_at?: any; + process_duration: number; + progress: number; // parsing process + progress_msg: string; // parsing log + run: RunningStatus; // parsing status + size: number; + source_type: string; + status: string; // enabled + thumbnail?: any; // base64 + token_num: number; + type: string; + update_date: string; + update_time: number; + parser_config: IKnowledgeFileParserConfig; +} + +export interface ITenantInfo { + asr_id: string; + embd_id: string; + img2txt_id: string; + llm_id: string; + name: string; + parser_ids: string; + role: string; + tenant_id: string; + chat_id: string; + speech2text_id: string; + rerank_id?: string; + tts_id: string; + // Tenant model IDs + tenant_asr_id?: string; + tenant_embd_id?: string; + tenant_img2txt_id?: string; + tenant_llm_id?: string; + tenant_rerank_id?: string; + tenant_tts_id?: string; +} + +export type ChunkDocType = 'image' | 'table' | 'text'; + +export interface IChunk { + available_int: number; // Whether to enable, 0: not enabled, 1: enabled + chunk_id: string; + content_with_weight: string; + doc_id: string; + doc_name: string; + doc_type_kwd?: ChunkDocType; + image_id: string; + important_kwd?: string[]; + question_kwd?: string[]; // keywords + tag_kwd?: string[]; + positions: number[][]; + tag_feas?: Record; +} + +export interface ITestingChunk { + chunk_id: string; + content_ltks: string; + content_with_weight: string; + doc_id: string; + doc_name: string; + img_id: string; + image_id: string; + important_kwd: any[]; + kb_id: string; + similarity: number; + term_similarity: number; + vector: number[]; + vector_similarity: number; + highlight: string; + positions: number[][]; + docnm_kwd: string; + doc_type_kwd: string; +} + +export interface ITestingDocument { + count: number; + doc_id: string; + doc_name: string; +} + +export interface ITestingResult { + chunks: ITestingChunk[]; + documents: ITestingDocument[]; + total: number; + labels?: Record; +} + +export interface INextTestingResult { + chunks: ITestingChunk[]; + doc_aggs: ITestingDocument[]; + total: number; + labels?: Record; + isRuned?: boolean; +} + +export type IRenameTag = { fromTag: string; toTag: string }; + +export interface IKnowledgeGraph { + graph: Record; + mind_map: import('@antv/g6/lib/types').TreeData; +} diff --git a/web/src/interfaces/database/knowledge.ts b/web/src/interfaces/database/knowledge.ts deleted file mode 100644 index 8578e42b80..0000000000 --- a/web/src/interfaces/database/knowledge.ts +++ /dev/null @@ -1,194 +0,0 @@ -import { RunningStatus } from '@/constants/knowledge'; -import { DataSourceKey } from '@/pages/user-setting/data-source/constant'; -import { TreeData } from '@antv/g6/lib/types'; -export interface IConnector { - id: string; - name: string; - status: RunningStatus; - source: DataSourceKey; - auto_parse?: '0' | '1'; -} -// knowledge base detail -export interface IKnowledge { - avatar?: any; - chunk_num: number; - create_date: string; - create_time: number; - created_by: string; - description: string; - doc_num: number; - id: string; - name: string; - parser_config: ParserConfig; - chunk_method: string; - pipeline_id: string; - pipeline_name: string; - pipeline_avatar: string; - permission: string; - similarity_threshold: number; - status: string; - tenant_id: string; - token_num: number; - update_date: string; - update_time: number; - vector_similarity_weight: number; - embedding_model: string; - nickname: string; - operator_permission: number; - size: number; - raptor_task_finish_at?: string; - raptor_task_id?: string; - mindmap_task_finish_at?: string; - mindmap_task_id?: string; - graphrag_task_finish_at: string; - graphrag_task_id: string; - connectors: IConnector[]; - embd_id: string; - parser_id: string; -} - -export interface IKnowledgeResult { - kbs: IKnowledge[]; - total_datasets: number; -} - -export interface Raptor { - use_raptor: boolean; -} - -export interface ParserConfig { - from_page?: number; - to_page?: number; - auto_keywords?: number; - auto_questions?: number; - chunk_token_num?: number; - delimiter?: string; - html4excel?: boolean; - layout_recognize?: boolean; - raptor?: Raptor; - tag_kb_ids?: string[]; - topn_tags?: number; - graphrag?: { use_graphrag?: boolean }; - enable_metadata?: boolean; - metadata?: any; - built_in_metadata?: Array<{ key: string; type: string }>; -} - -export interface IKnowledgeFileParserConfig { - chunk_token_num: number; - layout_recognize: boolean; - pages: number[][]; - task_page_size: number; -} -export interface IKnowledgeFile { - chunk_num: number; - create_date: string; - create_time: number; - created_by: string; - id: string; - kb_id: string; - location: string; - name: string; - parser_id: string; - process_begin_at?: any; - process_duration: number; - progress: number; // parsing process - progress_msg: string; // parsing log - run: RunningStatus; // parsing status - size: number; - source_type: string; - status: string; // enabled - thumbnail?: any; // base64 - token_num: number; - type: string; - update_date: string; - update_time: number; - parser_config: IKnowledgeFileParserConfig; -} - -export interface ITenantInfo { - asr_id: string; - embd_id: string; - img2txt_id: string; - llm_id: string; - name: string; - parser_ids: string; - role: string; - tenant_id: string; - chat_id: string; - speech2text_id: string; - rerank_id?: string; - tts_id: string; - // Tenant model IDs - tenant_asr_id?: string; - tenant_embd_id?: string; - tenant_img2txt_id?: string; - tenant_llm_id?: string; - tenant_rerank_id?: string; - tenant_tts_id?: string; -} - -export type ChunkDocType = 'image' | 'table' | 'text'; - -export interface IChunk { - available_int: number; // Whether to enable, 0: not enabled, 1: enabled - chunk_id: string; - content_with_weight: string; - doc_id: string; - doc_name: string; - doc_type_kwd?: ChunkDocType; - image_id: string; - important_kwd?: string[]; - question_kwd?: string[]; // keywords - tag_kwd?: string[]; - positions: number[][]; - tag_feas?: Record; -} - -export interface ITestingChunk { - chunk_id: string; - content_ltks: string; - content_with_weight: string; - doc_id: string; - doc_name: string; - img_id: string; - image_id: string; - important_kwd: any[]; - kb_id: string; - similarity: number; - term_similarity: number; - vector: number[]; - vector_similarity: number; - highlight: string; - positions: number[][]; - docnm_kwd: string; - doc_type_kwd: string; -} - -export interface ITestingDocument { - count: number; - doc_id: string; - doc_name: string; -} - -export interface ITestingResult { - chunks: ITestingChunk[]; - documents: ITestingDocument[]; - total: number; - labels?: Record; -} - -export interface INextTestingResult { - chunks: ITestingChunk[]; - doc_aggs: ITestingDocument[]; - total: number; - labels?: Record; - isRuned?: boolean; -} - -export type IRenameTag = { fromTag: string; toTag: string }; - -export interface IKnowledgeGraph { - graph: Record; - mind_map: TreeData; -} diff --git a/web/src/pages/agent/components/publish-confirm-dialog.tsx b/web/src/pages/agent/components/publish-confirm-dialog.tsx index b80eaaa9bd..208c551af0 100644 --- a/web/src/pages/agent/components/publish-confirm-dialog.tsx +++ b/web/src/pages/agent/components/publish-confirm-dialog.tsx @@ -10,7 +10,7 @@ import { DialogTrigger, } from '@/components/ui/dialog'; import { IFlow } from '@/interfaces/database/agent'; -import { IKnowledge } from '@/interfaces/database/knowledge'; +import { IDataset } from '@/interfaces/database/dataset'; import { formatDate } from '@/utils/date'; import { BookPlus } from 'lucide-react'; import { useCallback, useMemo, useState } from 'react'; @@ -26,7 +26,7 @@ interface PublishConfirmDialogProps { function AssociatedDataset({ associatedDatasets, }: { - associatedDatasets: Pick[]; + associatedDatasets: Pick[]; }) { const { t } = useTranslation(); diff --git a/web/src/pages/chunk/parsed-result/add-knowledge/components/knowledge-chunk/components/chunk-card/index.tsx b/web/src/pages/chunk/parsed-result/add-knowledge/components/knowledge-chunk/components/chunk-card/index.tsx index 4372c42154..0299b0c23d 100644 --- a/web/src/pages/chunk/parsed-result/add-knowledge/components/knowledge-chunk/components/chunk-card/index.tsx +++ b/web/src/pages/chunk/parsed-result/add-knowledge/components/knowledge-chunk/components/chunk-card/index.tsx @@ -1,5 +1,4 @@ import Image from '@/components/image'; -import { useTheme } from '@/components/theme-provider'; import { Card } from '@/components/ui/card'; import { Checkbox } from '@/components/ui/checkbox'; import { Switch } from '@/components/ui/switch'; @@ -8,7 +7,7 @@ import { TooltipContent, TooltipTrigger, } from '@/components/ui/tooltip'; -import type { ChunkDocType, IChunk } from '@/interfaces/database/knowledge'; +import type { ChunkDocType, IChunk } from '@/interfaces/database/dataset'; import { cn } from '@/lib/utils'; import { CheckedState } from '@radix-ui/react-checkbox'; import classNames from 'classnames'; @@ -44,7 +43,6 @@ const ChunkCard = ({ const { t } = useTranslation(); const available = Number(item.available_int); const [enabled, setEnabled] = useState(false); - const { theme } = useTheme(); const onChange = (checked: boolean) => { setEnabled(checked); diff --git a/web/src/pages/chunk/parsed-result/add-knowledge/components/knowledge-chunk/components/chunk-creating-modal/index.tsx b/web/src/pages/chunk/parsed-result/add-knowledge/components/knowledge-chunk/components/chunk-creating-modal/index.tsx index 5a36d76b5d..a8dd6bf860 100644 --- a/web/src/pages/chunk/parsed-result/add-knowledge/components/knowledge-chunk/components/chunk-creating-modal/index.tsx +++ b/web/src/pages/chunk/parsed-result/add-knowledge/components/knowledge-chunk/components/chunk-creating-modal/index.tsx @@ -22,7 +22,7 @@ import { Switch } from '@/components/ui/switch'; import { Textarea } from '@/components/ui/textarea'; import { useFetchChunk } from '@/hooks/use-chunk-request'; import { IModalProps } from '@/interfaces/common'; -import type { ChunkDocType } from '@/interfaces/database/knowledge'; +import type { ChunkDocType } from '@/interfaces/database/dataset'; import React, { useCallback, useEffect, useState } from 'react'; import { FieldValues, FormProvider, useForm } from 'react-hook-form'; import { useTranslation } from 'react-i18next'; diff --git a/web/src/pages/chunk/parsed-result/add-knowledge/components/knowledge-chunk/hooks.ts b/web/src/pages/chunk/parsed-result/add-knowledge/components/knowledge-chunk/hooks.ts index 790fced393..5482110e20 100644 --- a/web/src/pages/chunk/parsed-result/add-knowledge/components/knowledge-chunk/hooks.ts +++ b/web/src/pages/chunk/parsed-result/add-knowledge/components/knowledge-chunk/hooks.ts @@ -5,7 +5,7 @@ import { useDeleteChunk, useSelectChunkList, } from '@/hooks/use-chunk-request'; -import { IChunk } from '@/interfaces/database/knowledge'; +import { IChunk } from '@/interfaces/database/dataset'; import { buildChunkHighlights } from '@/utils/document-util'; import { useCallback, useMemo, useState } from 'react'; import { IHighlight } from 'react-pdf-highlighter'; diff --git a/web/src/pages/dataflow-result/components/chunk-card/index.tsx b/web/src/pages/dataflow-result/components/chunk-card/index.tsx index 1674b79b8f..77d20e035e 100644 --- a/web/src/pages/dataflow-result/components/chunk-card/index.tsx +++ b/web/src/pages/dataflow-result/components/chunk-card/index.tsx @@ -1,5 +1,4 @@ import Image from '@/components/image'; -import { useTheme } from '@/components/theme-provider'; import { Card } from '@/components/ui/card'; import { Checkbox } from '@/components/ui/checkbox'; import { @@ -8,7 +7,7 @@ import { PopoverTrigger, } from '@/components/ui/popover'; import { Switch } from '@/components/ui/switch'; -import { IChunk } from '@/interfaces/database/knowledge'; +import { IChunk } from '@/interfaces/database/dataset'; import { CheckedState } from '@radix-ui/react-checkbox'; import classNames from 'classnames'; import DOMPurify from 'dompurify'; @@ -39,7 +38,6 @@ const ChunkCard = ({ }: IProps) => { const available = Number(item.available_int); const [enabled, setEnabled] = useState(false); - const { theme } = useTheme(); const onChange = (checked: boolean) => { setEnabled(checked); diff --git a/web/src/pages/dataset/contexts/knowledge-base-context.tsx b/web/src/pages/dataset/contexts/knowledge-base-context.tsx index 09fff048d9..243f365621 100644 --- a/web/src/pages/dataset/contexts/knowledge-base-context.tsx +++ b/web/src/pages/dataset/contexts/knowledge-base-context.tsx @@ -1,8 +1,8 @@ -import { IKnowledge } from '@/interfaces/database/knowledge'; +import { IDataset } from '@/interfaces/database/dataset'; import React, { createContext, ReactNode, useContext } from 'react'; interface KnowledgeBaseContextType { - knowledgeBase: IKnowledge | null; + knowledgeBase: IDataset | null; loading: boolean; } @@ -12,7 +12,7 @@ const KnowledgeBaseContext = createContext< export const KnowledgeBaseProvider: React.FC<{ children: ReactNode; - knowledgeBase: IKnowledge | null; + knowledgeBase: IDataset | null; loading: boolean; }> = ({ children, knowledgeBase, loading }) => { return ( diff --git a/web/src/pages/dataset/dataset-setting/components/link-data-source-modal.tsx b/web/src/pages/dataset/dataset-setting/components/link-data-source-modal.tsx index fa32a697d5..978cf15408 100644 --- a/web/src/pages/dataset/dataset-setting/components/link-data-source-modal.tsx +++ b/web/src/pages/dataset/dataset-setting/components/link-data-source-modal.tsx @@ -1,7 +1,7 @@ import { Button } from '@/components/ui/button'; import { SearchInput } from '@/components/ui/input'; import { Modal } from '@/components/ui/modal/modal'; -import { IConnector } from '@/interfaces/database/knowledge'; +import { IConnector } from '@/interfaces/database/dataset'; import { useListDataSource } from '@/pages/user-setting/data-source/hooks'; import { IDataSourceBase } from '@/pages/user-setting/data-source/interface'; import { t } from 'i18next'; diff --git a/web/src/pages/dataset/dataset-setting/components/link-data-source.tsx b/web/src/pages/dataset/dataset-setting/components/link-data-source.tsx index 088fa51933..65dc39b8f4 100644 --- a/web/src/pages/dataset/dataset-setting/components/link-data-source.tsx +++ b/web/src/pages/dataset/dataset-setting/components/link-data-source.tsx @@ -7,7 +7,7 @@ import { TooltipTrigger, } from '@/components/ui/tooltip'; import { useNavigatePage } from '@/hooks/logic-hooks/navigate-hooks'; -import { IConnector } from '@/interfaces/database/knowledge'; +import { IConnector } from '@/interfaces/database/dataset'; import { delSourceModal } from '@/pages/user-setting/data-source/component/delete-source-modal'; import { useDataSourceInfo } from '@/pages/user-setting/data-source/constant'; import { useDataSourceRebuild } from '@/pages/user-setting/data-source/hooks'; diff --git a/web/src/pages/dataset/dataset-setting/hooks.ts b/web/src/pages/dataset/dataset-setting/hooks.ts index 1ac6b4cd91..0d881af127 100644 --- a/web/src/pages/dataset/dataset-setting/hooks.ts +++ b/web/src/pages/dataset/dataset-setting/hooks.ts @@ -31,7 +31,7 @@ export function useHasParsedDocument(isEdit?: boolean) { const { data: knowledgeDetails } = useFetchKnowledgeBaseConfiguration({ isEdit, }); - return knowledgeDetails.chunk_num > 0; + return knowledgeDetails.chunk_count > 0; } export const useFetchKnowledgeConfigurationOnMount = ( @@ -66,8 +66,8 @@ export const useFetchKnowledgeConfigurationOnMount = ( 'pagerank', 'avatar', ]), - embedding_model: knowledgeDetails.embd_id, - chunk_method: knowledgeDetails.parser_id, + embedding_model: knowledgeDetails.embedding_model, + chunk_method: knowledgeDetails.chunk_method, } as z.infer; form.reset(formValues); }, [form, knowledgeDetails]); diff --git a/web/src/pages/dataset/dataset-setting/index.tsx b/web/src/pages/dataset/dataset-setting/index.tsx index 2060d0361d..afe4c1bea6 100644 --- a/web/src/pages/dataset/dataset-setting/index.tsx +++ b/web/src/pages/dataset/dataset-setting/index.tsx @@ -14,7 +14,7 @@ import { Form } from '@/components/ui/form'; import { FormLayout } from '@/constants/form'; import { DocumentParserType, ParseType } from '@/constants/knowledge'; import { PermissionRole } from '@/constants/permission'; -import { IConnector, IKnowledge } from '@/interfaces/database/knowledge'; +import { IConnector, IDataset } from '@/interfaces/database/dataset'; import { useDataSourceInfo } from '@/pages/user-setting/data-source/constant'; import { IDataSourceBase } from '@/pages/user-setting/data-source/interface'; import { zodResolver } from '@hookform/resolvers/zod'; @@ -43,8 +43,8 @@ const enum DocumentType { } export const DataSetContext = createContext<{ loading: boolean; - knowledgeDetails: IKnowledge; -}>({ loading: false, knowledgeDetails: {} as IKnowledge }); + knowledgeDetails: IDataset; +}>({ loading: false, knowledgeDetails: {} as IDataset }); const initialEntityTypes = [ 'organization', @@ -127,7 +127,6 @@ export default function DatasetSettings() { useState(); useEffect(() => { - console.log('🚀 ~ DatasetSettings ~ knowledgeDetails:', knowledgeDetails); if (knowledgeDetails) { // const data: IDataPipelineNodeProps = { // id: knowledgeDetails.pipeline_id, @@ -137,15 +136,16 @@ export default function DatasetSettings() { // }; // setPipelineData(data); - const source_data: IDataSourceNodeProps[] = - knowledgeDetails?.connectors?.map((connector) => { - return { - ...connector, - icon: - dataSourceInfo[connector.source as keyof typeof dataSourceInfo] - ?.icon || '', - }; - }); + const source_data: IDataSourceNodeProps[] = ( + knowledgeDetails?.connectors ?? [] + ).map((connector: IConnector) => { + return { + ...connector, + icon: + dataSourceInfo[connector.source as keyof typeof dataSourceInfo] + ?.icon || '', + }; + }); setSourceData(source_data); diff --git a/web/src/pages/dataset/dataset/index.tsx b/web/src/pages/dataset/dataset/index.tsx index 6e232497bf..4e09317150 100644 --- a/web/src/pages/dataset/dataset/index.tsx +++ b/web/src/pages/dataset/dataset/index.tsx @@ -156,7 +156,7 @@ export default function Dataset() {

} - preChildren={ 0)} />} + preChildren={ 0)} />} // preChildren={ //