diff --git a/web/src/components/dataset-configuration-container.tsx b/web/src/components/dataset-configuration-container.tsx
new file mode 100644
index 000000000..52758c069
--- /dev/null
+++ b/web/src/components/dataset-configuration-container.tsx
@@ -0,0 +1,22 @@
+import { cn } from '@/lib/utils';
+import { PropsWithChildren } from 'react';
+
+type DatasetConfigurationContainerProps = {
+ className?: string;
+} & PropsWithChildren;
+
+export function DatasetConfigurationContainer({
+ children,
+ className,
+}: DatasetConfigurationContainerProps) {
+ return (
+
+ {children}
+
+ );
+}
diff --git a/web/src/components/layout-recognize.tsx b/web/src/components/layout-recognize.tsx
index e1658fd24..3279ac980 100644
--- a/web/src/components/layout-recognize.tsx
+++ b/web/src/components/layout-recognize.tsx
@@ -2,6 +2,7 @@ import { LlmModelType } from '@/constants/knowledge';
import { useTranslate } from '@/hooks/common-hooks';
import { useSelectLlmOptionsByModelType } from '@/hooks/llm-hooks';
import { Form, Select } from 'antd';
+import { camelCase } from 'lodash';
import { useMemo } from 'react';
const enum DocumentType {
@@ -15,12 +16,12 @@ const LayoutRecognize = () => {
const options = useMemo(() => {
const list = [DocumentType.DeepDOC, DocumentType.PlainText].map((x) => ({
- label: x,
+ label: x === DocumentType.PlainText ? t(camelCase(x)) : 'DeepDoc',
value: x,
}));
return [...list, ...allOptions[LlmModelType.Image2text]];
- }, [allOptions]);
+ }, [allOptions, t]);
return (
{
return !excludedParseMethods.some((x) => x === parserId);
};
+type GraphRagItemsProps = {
+ marginBottom?: boolean;
+};
+
// The three types "table", "resume" and "one" do not display this configuration.
-const GraphRagItems = () => {
+const GraphRagItems = ({ marginBottom = false }: GraphRagItemsProps) => {
const { t } = useTranslate('knowledgeConfiguration');
const methodOptions = useMemo(() => {
@@ -55,7 +61,7 @@ const GraphRagItems = () => {
);
return (
-
+
{
);
}}
-
+
);
};
diff --git a/web/src/components/parse-configuration/index.tsx b/web/src/components/parse-configuration/index.tsx
index 2f98a570b..446412bf4 100644
--- a/web/src/components/parse-configuration/index.tsx
+++ b/web/src/components/parse-configuration/index.tsx
@@ -1,16 +1,7 @@
import { DocumentParserType } from '@/constants/knowledge';
import { useTranslate } from '@/hooks/common-hooks';
import { PlusOutlined } from '@ant-design/icons';
-import {
- Button,
- Divider,
- Flex,
- Form,
- Input,
- InputNumber,
- Slider,
- Switch,
-} from 'antd';
+import { Button, Flex, Form, Input, InputNumber, Slider, Switch } from 'antd';
import random from 'lodash/random';
export const excludedParseMethods = [
@@ -53,7 +44,6 @@ const ParseConfiguration = () => {
return (
<>
-
{
- const { submitKnowledgeConfiguration, submitLoading, navigateToDataset } =
- useSubmitKnowledgeConfiguration(form);
- const { parserList, embeddingModelOptions, disabled } =
- useFetchKnowledgeConfigurationOnMount(form);
- const { t } = useTranslate('knowledgeConfiguration');
- const handleChunkMethodSelectChange = useHandleChunkMethodSelectChange(form);
- const showAutoKeywords = useShowAutoKeywords();
-
- return (
-
-
-
-
- false}
- showUploadList={{ showPreviewIcon: false, showRemoveIcon: false }}
- >
-
-
-
-
-
-
-
-
-
-
-
- {t('me')}
- {t('team')}
-
-
-
-
-
-
-
-
-
-
- {({ getFieldValue }) => {
- const parserId = getFieldValue('parser_id');
-
- return (
- <>
- {parserId === DocumentParserType.KnowledgeGraph && (
- <>
-
-
-
- >
- )}
- {showAutoKeywords(parserId) && (
- <>
-
-
- >
- )}
- {parserId === DocumentParserType.Naive && (
- <>
-
-
-
-
- >
- )}
-
- {showRaptorParseConfiguration(parserId) && (
-
- )}
-
- {showGraphRagItems(parserId) && }
-
- {showTagItems(parserId) && }
- >
- );
- }}
-
-
-
-
-
-
-
-
-
-
-
- );
-};
-
-export default ConfigurationForm;
diff --git a/web/src/pages/add-knowledge/components/knowledge-setting/configuration/audio.tsx b/web/src/pages/add-knowledge/components/knowledge-setting/configuration/audio.tsx
new file mode 100644
index 000000000..ff1e33223
--- /dev/null
+++ b/web/src/pages/add-knowledge/components/knowledge-setting/configuration/audio.tsx
@@ -0,0 +1,31 @@
+import {
+ AutoKeywordsItem,
+ AutoQuestionsItem,
+} from '@/components/auto-keywords-item';
+import PageRank from '@/components/page-rank';
+import ParseConfiguration from '@/components/parse-configuration';
+import GraphRagItems from '@/components/parse-configuration/graph-rag-items';
+import { TagItems } from '../tag-item';
+import { ChunkMethodItem, EmbeddingModelItem } from './common-item';
+
+export function AudioConfiguration() {
+ return (
+ <>
+
+
+
+
+
+ <>
+
+
+ >
+
+
+
+
+
+
+ >
+ );
+}
diff --git a/web/src/pages/add-knowledge/components/knowledge-setting/configuration/book.tsx b/web/src/pages/add-knowledge/components/knowledge-setting/configuration/book.tsx
new file mode 100644
index 000000000..44659a1ec
--- /dev/null
+++ b/web/src/pages/add-knowledge/components/knowledge-setting/configuration/book.tsx
@@ -0,0 +1,31 @@
+import {
+ AutoKeywordsItem,
+ AutoQuestionsItem,
+} from '@/components/auto-keywords-item';
+import PageRank from '@/components/page-rank';
+import ParseConfiguration from '@/components/parse-configuration';
+import GraphRagItems from '@/components/parse-configuration/graph-rag-items';
+import { TagItems } from '../tag-item';
+import { ChunkMethodItem, EmbeddingModelItem } from './common-item';
+
+export function BookConfiguration() {
+ return (
+ <>
+
+
+
+
+
+ <>
+
+
+ >
+
+
+
+
+
+
+ >
+ );
+}
diff --git a/web/src/pages/add-knowledge/components/knowledge-setting/configuration/common-item.tsx b/web/src/pages/add-knowledge/components/knowledge-setting/configuration/common-item.tsx
new file mode 100644
index 000000000..3822bf8be
--- /dev/null
+++ b/web/src/pages/add-knowledge/components/knowledge-setting/configuration/common-item.tsx
@@ -0,0 +1,54 @@
+import { useTranslate } from '@/hooks/common-hooks';
+import { useHandleChunkMethodSelectChange } from '@/hooks/logic-hooks';
+import { Form, Select } from 'antd';
+import { memo } from 'react';
+import {
+ useHasParsedDocument,
+ useSelectChunkMethodList,
+ useSelectEmbeddingModelOptions,
+} from '../hooks';
+
+export const EmbeddingModelItem = memo(function EmbeddingModelItem() {
+ const { t } = useTranslate('knowledgeConfiguration');
+ const embeddingModelOptions = useSelectEmbeddingModelOptions();
+ const disabled = useHasParsedDocument();
+
+ return (
+
+
+
+ );
+});
+
+export const ChunkMethodItem = memo(function ChunkMethodItem() {
+ const { t } = useTranslate('knowledgeConfiguration');
+ const form = Form.useFormInstance();
+ const handleChunkMethodSelectChange = useHandleChunkMethodSelectChange(form);
+ const disabled = useHasParsedDocument();
+ const parserList = useSelectChunkMethodList();
+
+ return (
+
+
+
+ );
+});
diff --git a/web/src/pages/add-knowledge/components/knowledge-setting/configuration/email.tsx b/web/src/pages/add-knowledge/components/knowledge-setting/configuration/email.tsx
new file mode 100644
index 000000000..c39015464
--- /dev/null
+++ b/web/src/pages/add-knowledge/components/knowledge-setting/configuration/email.tsx
@@ -0,0 +1,31 @@
+import {
+ AutoKeywordsItem,
+ AutoQuestionsItem,
+} from '@/components/auto-keywords-item';
+import PageRank from '@/components/page-rank';
+import ParseConfiguration from '@/components/parse-configuration';
+import GraphRagItems from '@/components/parse-configuration/graph-rag-items';
+import { TagItems } from '../tag-item';
+import { ChunkMethodItem, EmbeddingModelItem } from './common-item';
+
+export function EmailConfiguration() {
+ return (
+ <>
+
+
+
+
+
+ <>
+
+
+ >
+
+
+
+
+
+
+ >
+ );
+}
diff --git a/web/src/pages/add-knowledge/components/knowledge-setting/configuration/index.tsx b/web/src/pages/add-knowledge/components/knowledge-setting/configuration/index.tsx
new file mode 100644
index 000000000..87da9427b
--- /dev/null
+++ b/web/src/pages/add-knowledge/components/knowledge-setting/configuration/index.tsx
@@ -0,0 +1,148 @@
+import { DocumentParserType } from '@/constants/knowledge';
+import { useTranslate } from '@/hooks/common-hooks';
+import { normFile } from '@/utils/file-util';
+import { PlusOutlined } from '@ant-design/icons';
+import { Button, Form, Input, Radio, Select, Space, Upload } from 'antd';
+import { FormInstance } from 'antd/lib';
+import { useEffect, useMemo, useState } from 'react';
+import {
+ useFetchKnowledgeConfigurationOnMount,
+ useSubmitKnowledgeConfiguration,
+} from '../hooks';
+import { AudioConfiguration } from './audio';
+import { BookConfiguration } from './book';
+import { EmailConfiguration } from './email';
+import { KnowledgeGraphConfiguration } from './knowledge-graph';
+import { LawsConfiguration } from './laws';
+import { ManualConfiguration } from './manual';
+import { NaiveConfiguration } from './naive';
+import { OneConfiguration } from './one';
+import { PaperConfiguration } from './paper';
+import { PictureConfiguration } from './picture';
+import { PresentationConfiguration } from './presentation';
+import { QAConfiguration } from './qa';
+import { ResumeConfiguration } from './resume';
+import { TableConfiguration } from './table';
+import { TagConfiguration } from './tag';
+
+import styles from '../index.less';
+
+const { Option } = Select;
+
+const ConfigurationComponentMap = {
+ [DocumentParserType.Naive]: NaiveConfiguration,
+ [DocumentParserType.Qa]: QAConfiguration,
+ [DocumentParserType.Resume]: ResumeConfiguration,
+ [DocumentParserType.Manual]: ManualConfiguration,
+ [DocumentParserType.Table]: TableConfiguration,
+ [DocumentParserType.Paper]: PaperConfiguration,
+ [DocumentParserType.Book]: BookConfiguration,
+ [DocumentParserType.Laws]: LawsConfiguration,
+ [DocumentParserType.Presentation]: PresentationConfiguration,
+ [DocumentParserType.Picture]: PictureConfiguration,
+ [DocumentParserType.One]: OneConfiguration,
+ [DocumentParserType.Audio]: AudioConfiguration,
+ [DocumentParserType.Email]: EmailConfiguration,
+ [DocumentParserType.Tag]: TagConfiguration,
+ [DocumentParserType.KnowledgeGraph]: KnowledgeGraphConfiguration,
+};
+
+function EmptyComponent() {
+ return ;
+}
+
+export const ConfigurationForm = ({ form }: { form: FormInstance }) => {
+ const { submitKnowledgeConfiguration, submitLoading, navigateToDataset } =
+ useSubmitKnowledgeConfiguration(form);
+ const { t } = useTranslate('knowledgeConfiguration');
+
+ const [finalParserId, setFinalParserId] = useState();
+ const knowledgeDetails = useFetchKnowledgeConfigurationOnMount(form);
+ const parserId: DocumentParserType = Form.useWatch('parser_id', form);
+ const ConfigurationComponent = useMemo(() => {
+ return finalParserId
+ ? ConfigurationComponentMap[finalParserId]
+ : EmptyComponent;
+ }, [finalParserId]);
+
+ useEffect(() => {
+ setFinalParserId(parserId);
+ }, [parserId]);
+
+ useEffect(() => {
+ setFinalParserId(knowledgeDetails.parser_id as DocumentParserType);
+ }, [knowledgeDetails.parser_id]);
+
+ return (
+
+
+
+
+ false}
+ showUploadList={{ showPreviewIcon: false, showRemoveIcon: false }}
+ >
+
+
+
+
+
+
+
+
+
+
+
+ {t('me')}
+ {t('team')}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+};
diff --git a/web/src/pages/add-knowledge/components/knowledge-setting/configuration/knowledge-graph.tsx b/web/src/pages/add-knowledge/components/knowledge-setting/configuration/knowledge-graph.tsx
new file mode 100644
index 000000000..8a7e3062f
--- /dev/null
+++ b/web/src/pages/add-knowledge/components/knowledge-setting/configuration/knowledge-graph.tsx
@@ -0,0 +1,22 @@
+import Delimiter from '@/components/delimiter';
+import EntityTypesItem from '@/components/entity-types-item';
+import MaxTokenNumber from '@/components/max-token-number';
+import PageRank from '@/components/page-rank';
+import { ChunkMethodItem, EmbeddingModelItem } from './common-item';
+
+export function KnowledgeGraphConfiguration() {
+ return (
+ <>
+
+
+
+
+
+ <>
+
+
+
+ >
+ >
+ );
+}
diff --git a/web/src/pages/add-knowledge/components/knowledge-setting/configuration/laws.tsx b/web/src/pages/add-knowledge/components/knowledge-setting/configuration/laws.tsx
new file mode 100644
index 000000000..8eea7ce4d
--- /dev/null
+++ b/web/src/pages/add-knowledge/components/knowledge-setting/configuration/laws.tsx
@@ -0,0 +1,31 @@
+import {
+ AutoKeywordsItem,
+ AutoQuestionsItem,
+} from '@/components/auto-keywords-item';
+import PageRank from '@/components/page-rank';
+import ParseConfiguration from '@/components/parse-configuration';
+import GraphRagItems from '@/components/parse-configuration/graph-rag-items';
+import { TagItems } from '../tag-item';
+import { ChunkMethodItem, EmbeddingModelItem } from './common-item';
+
+export function LawsConfiguration() {
+ return (
+ <>
+
+
+
+
+
+ <>
+
+
+ >
+
+
+
+
+
+
+ >
+ );
+}
diff --git a/web/src/pages/add-knowledge/components/knowledge-setting/configuration/manual.tsx b/web/src/pages/add-knowledge/components/knowledge-setting/configuration/manual.tsx
new file mode 100644
index 000000000..eb767a55c
--- /dev/null
+++ b/web/src/pages/add-knowledge/components/knowledge-setting/configuration/manual.tsx
@@ -0,0 +1,31 @@
+import {
+ AutoKeywordsItem,
+ AutoQuestionsItem,
+} from '@/components/auto-keywords-item';
+import PageRank from '@/components/page-rank';
+import ParseConfiguration from '@/components/parse-configuration';
+import GraphRagItems from '@/components/parse-configuration/graph-rag-items';
+import { TagItems } from '../tag-item';
+import { ChunkMethodItem, EmbeddingModelItem } from './common-item';
+
+export function ManualConfiguration() {
+ return (
+ <>
+
+
+
+
+
+ <>
+
+
+ >
+
+
+
+
+
+
+ >
+ );
+}
diff --git a/web/src/pages/add-knowledge/components/knowledge-setting/configuration/naive.tsx b/web/src/pages/add-knowledge/components/knowledge-setting/configuration/naive.tsx
new file mode 100644
index 000000000..956f83b0f
--- /dev/null
+++ b/web/src/pages/add-knowledge/components/knowledge-setting/configuration/naive.tsx
@@ -0,0 +1,43 @@
+import {
+ AutoKeywordsItem,
+ AutoQuestionsItem,
+} from '@/components/auto-keywords-item';
+import { DatasetConfigurationContainer } from '@/components/dataset-configuration-container';
+import Delimiter from '@/components/delimiter';
+import ExcelToHtml from '@/components/excel-to-html';
+import LayoutRecognize from '@/components/layout-recognize';
+import MaxTokenNumber from '@/components/max-token-number';
+import PageRank from '@/components/page-rank';
+import ParseConfiguration from '@/components/parse-configuration';
+import GraphRagItems from '@/components/parse-configuration/graph-rag-items';
+import { Divider } from 'antd';
+import { TagItems } from '../tag-item';
+import { ChunkMethodItem, EmbeddingModelItem } from './common-item';
+
+export function NaiveConfiguration() {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+}
diff --git a/web/src/pages/add-knowledge/components/knowledge-setting/configuration/one.tsx b/web/src/pages/add-knowledge/components/knowledge-setting/configuration/one.tsx
new file mode 100644
index 000000000..d200fe8a0
--- /dev/null
+++ b/web/src/pages/add-knowledge/components/knowledge-setting/configuration/one.tsx
@@ -0,0 +1,28 @@
+import {
+ AutoKeywordsItem,
+ AutoQuestionsItem,
+} from '@/components/auto-keywords-item';
+import PageRank from '@/components/page-rank';
+import GraphRagItems from '@/components/parse-configuration/graph-rag-items';
+import { TagItems } from '../tag-item';
+import { ChunkMethodItem, EmbeddingModelItem } from './common-item';
+
+export function OneConfiguration() {
+ return (
+ <>
+
+
+
+
+
+ <>
+
+
+ >
+
+
+
+
+ >
+ );
+}
diff --git a/web/src/pages/add-knowledge/components/knowledge-setting/configuration/paper.tsx b/web/src/pages/add-knowledge/components/knowledge-setting/configuration/paper.tsx
new file mode 100644
index 000000000..0b19cefda
--- /dev/null
+++ b/web/src/pages/add-knowledge/components/knowledge-setting/configuration/paper.tsx
@@ -0,0 +1,31 @@
+import {
+ AutoKeywordsItem,
+ AutoQuestionsItem,
+} from '@/components/auto-keywords-item';
+import PageRank from '@/components/page-rank';
+import ParseConfiguration from '@/components/parse-configuration';
+import GraphRagItems from '@/components/parse-configuration/graph-rag-items';
+import { TagItems } from '../tag-item';
+import { ChunkMethodItem, EmbeddingModelItem } from './common-item';
+
+export function PaperConfiguration() {
+ return (
+ <>
+
+
+
+
+
+ <>
+
+
+ >
+
+
+
+
+
+
+ >
+ );
+}
diff --git a/web/src/pages/add-knowledge/components/knowledge-setting/configuration/picture.tsx b/web/src/pages/add-knowledge/components/knowledge-setting/configuration/picture.tsx
new file mode 100644
index 000000000..f10b0892b
--- /dev/null
+++ b/web/src/pages/add-knowledge/components/knowledge-setting/configuration/picture.tsx
@@ -0,0 +1,24 @@
+import {
+ AutoKeywordsItem,
+ AutoQuestionsItem,
+} from '@/components/auto-keywords-item';
+import PageRank from '@/components/page-rank';
+import { TagItems } from '../tag-item';
+import { ChunkMethodItem, EmbeddingModelItem } from './common-item';
+
+export function PictureConfiguration() {
+ return (
+ <>
+
+
+
+
+
+ <>
+
+
+ >
+
+ >
+ );
+}
diff --git a/web/src/pages/add-knowledge/components/knowledge-setting/configuration/presentation.tsx b/web/src/pages/add-knowledge/components/knowledge-setting/configuration/presentation.tsx
new file mode 100644
index 000000000..b03f648aa
--- /dev/null
+++ b/web/src/pages/add-knowledge/components/knowledge-setting/configuration/presentation.tsx
@@ -0,0 +1,31 @@
+import {
+ AutoKeywordsItem,
+ AutoQuestionsItem,
+} from '@/components/auto-keywords-item';
+import PageRank from '@/components/page-rank';
+import ParseConfiguration from '@/components/parse-configuration';
+import GraphRagItems from '@/components/parse-configuration/graph-rag-items';
+import { TagItems } from '../tag-item';
+import { ChunkMethodItem, EmbeddingModelItem } from './common-item';
+
+export function PresentationConfiguration() {
+ return (
+ <>
+
+
+
+
+
+ <>
+
+
+ >
+
+
+
+
+
+
+ >
+ );
+}
diff --git a/web/src/pages/add-knowledge/components/knowledge-setting/configuration/qa.tsx b/web/src/pages/add-knowledge/components/knowledge-setting/configuration/qa.tsx
new file mode 100644
index 000000000..1d25dff4e
--- /dev/null
+++ b/web/src/pages/add-knowledge/components/knowledge-setting/configuration/qa.tsx
@@ -0,0 +1,16 @@
+import PageRank from '@/components/page-rank';
+import { TagItems } from '../tag-item';
+import { ChunkMethodItem, EmbeddingModelItem } from './common-item';
+
+export function QAConfiguration() {
+ return (
+ <>
+
+
+
+
+
+
+ >
+ );
+}
diff --git a/web/src/pages/add-knowledge/components/knowledge-setting/configuration/resume.tsx b/web/src/pages/add-knowledge/components/knowledge-setting/configuration/resume.tsx
new file mode 100644
index 000000000..89d535d9c
--- /dev/null
+++ b/web/src/pages/add-knowledge/components/knowledge-setting/configuration/resume.tsx
@@ -0,0 +1,16 @@
+import PageRank from '@/components/page-rank';
+import { TagItems } from '../tag-item';
+import { ChunkMethodItem, EmbeddingModelItem } from './common-item';
+
+export function ResumeConfiguration() {
+ return (
+ <>
+
+
+
+
+
+
+ >
+ );
+}
diff --git a/web/src/pages/add-knowledge/components/knowledge-setting/configuration/table.tsx b/web/src/pages/add-knowledge/components/knowledge-setting/configuration/table.tsx
new file mode 100644
index 000000000..5611812fa
--- /dev/null
+++ b/web/src/pages/add-knowledge/components/knowledge-setting/configuration/table.tsx
@@ -0,0 +1,13 @@
+import PageRank from '@/components/page-rank';
+import { ChunkMethodItem, EmbeddingModelItem } from './common-item';
+
+export function TableConfiguration() {
+ return (
+ <>
+
+
+
+
+ >
+ );
+}
diff --git a/web/src/pages/add-knowledge/components/knowledge-setting/configuration/tag.tsx b/web/src/pages/add-knowledge/components/knowledge-setting/configuration/tag.tsx
new file mode 100644
index 000000000..d2a22b228
--- /dev/null
+++ b/web/src/pages/add-knowledge/components/knowledge-setting/configuration/tag.tsx
@@ -0,0 +1,13 @@
+import PageRank from '@/components/page-rank';
+import { ChunkMethodItem, EmbeddingModelItem } from './common-item';
+
+export function TagConfiguration() {
+ return (
+ <>
+
+
+
+
+ >
+ );
+}
diff --git a/web/src/pages/add-knowledge/components/knowledge-setting/hooks.ts b/web/src/pages/add-knowledge/components/knowledge-setting/hooks.ts
index 1357ddbf5..a065515df 100644
--- a/web/src/pages/add-knowledge/components/knowledge-setting/hooks.ts
+++ b/web/src/pages/add-knowledge/components/knowledge-setting/hooks.ts
@@ -41,10 +41,23 @@ export const useSubmitKnowledgeConfiguration = (form: FormInstance) => {
// The value that does not need to be displayed in the analysis method Select
const HiddenFields = ['email', 'picture', 'audio'];
-export const useFetchKnowledgeConfigurationOnMount = (form: FormInstance) => {
+export function useSelectChunkMethodList() {
const parserList = useSelectParserList();
- const allOptions = useSelectLlmOptionsByModelType();
+ return parserList.filter((x) => !HiddenFields.some((y) => y === x.value));
+}
+
+export function useSelectEmbeddingModelOptions() {
+ const allOptions = useSelectLlmOptionsByModelType();
+ return allOptions[LlmModelType.Embedding];
+}
+
+export function useHasParsedDocument() {
+ const { data: knowledgeDetails } = useFetchKnowledgeBaseConfiguration();
+ return knowledgeDetails.chunk_num > 0;
+}
+
+export const useFetchKnowledgeConfigurationOnMount = (form: FormInstance) => {
const { data: knowledgeDetails } = useFetchKnowledgeBaseConfiguration();
useEffect(() => {
@@ -66,13 +79,7 @@ export const useFetchKnowledgeConfigurationOnMount = (form: FormInstance) => {
});
}, [form, knowledgeDetails]);
- return {
- parserList: parserList.filter(
- (x) => !HiddenFields.some((y) => y === x.value),
- ),
- embeddingModelOptions: allOptions[LlmModelType.Embedding],
- disabled: knowledgeDetails.chunk_num > 0,
- };
+ return knowledgeDetails;
};
export const useSelectKnowledgeDetailsLoading = () =>
diff --git a/web/src/pages/add-knowledge/components/knowledge-setting/index.tsx b/web/src/pages/add-knowledge/components/knowledge-setting/index.tsx
index 80e6b3790..8acc45de5 100644
--- a/web/src/pages/add-knowledge/components/knowledge-setting/index.tsx
+++ b/web/src/pages/add-knowledge/components/knowledge-setting/index.tsx
@@ -1,6 +1,6 @@
import { Col, Divider, Row, Spin, Typography } from 'antd';
import CategoryPanel from './category-panel';
-import ConfigurationForm from './configuration';
+import { ConfigurationForm } from './configuration';
import {
useHandleChunkMethodChange,
useSelectKnowledgeDetailsLoading,
diff --git a/web/src/pages/add-knowledge/components/knowledge-setting/tag-item.tsx b/web/src/pages/add-knowledge/components/knowledge-setting/tag-item.tsx
index 1d21e0892..4d3e2a9e0 100644
--- a/web/src/pages/add-knowledge/components/knowledge-setting/tag-item.tsx
+++ b/web/src/pages/add-knowledge/components/knowledge-setting/tag-item.tsx
@@ -1,15 +1,6 @@
import { useFetchKnowledgeList } from '@/hooks/knowledge-hooks';
import { UserOutlined } from '@ant-design/icons';
-import {
- Avatar,
- Divider,
- Flex,
- Form,
- InputNumber,
- Select,
- Slider,
- Space,
-} from 'antd';
+import { Avatar, Flex, Form, InputNumber, Select, Slider, Space } from 'antd';
import DOMPurify from 'dompurify';
import { useTranslation } from 'react-i18next';
@@ -83,7 +74,6 @@ export const TopNTagsItem = () => {
export function TagItems() {
return (
<>
-
{({ getFieldValue }) => {
@@ -95,7 +85,6 @@ export function TagItems() {
);
}}
-
>
);
}
diff --git a/web/src/utils/dataset-util.ts b/web/src/utils/dataset-util.ts
new file mode 100644
index 000000000..b8e8df7d7
--- /dev/null
+++ b/web/src/utils/dataset-util.ts
@@ -0,0 +1,9 @@
+import { DocumentParserType } from '@/constants/knowledge';
+
+export function isKnowledgeGraphParser(parserId: DocumentParserType) {
+ return parserId === DocumentParserType.KnowledgeGraph;
+}
+
+export function isNaiveParser(parserId: DocumentParserType) {
+ return parserId === DocumentParserType.Naive;
+}