feat(knowledge): add build mode support for configuration components
add build mode parameter to all configuration components to toggle between built-in and pipeline modes export new common items and update chunk method form to handle build mode selection
This commit is contained in:
@@ -1,10 +1,12 @@
|
||||
import React, { useMemo } from 'react';
|
||||
import React, { useMemo, useState, useEffect } from 'react';
|
||||
import { useFormContext, useWatch, type UseFormReturn } from 'react-hook-form';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import {
|
||||
Box,
|
||||
Typography,
|
||||
Button,
|
||||
Card,
|
||||
CardContent,
|
||||
} from '@mui/material';
|
||||
import { DOCUMENT_PARSER_TYPES, type DocumentParserType } from '@/constants/knowledge';
|
||||
import { type IParserConfig } from '@/interfaces/database/knowledge';
|
||||
@@ -20,7 +22,12 @@ import {
|
||||
PresentationConfiguration,
|
||||
OneConfiguration,
|
||||
TagConfiguration,
|
||||
ConfigurationFormContainer,
|
||||
MainContainer,
|
||||
} from '../configuration';
|
||||
import { ChunkMethodItem } from '../configuration';
|
||||
import { PipelineSelectorItem } from '../configuration/common-items';
|
||||
import { RadioFormField } from '@/components/FormField';
|
||||
|
||||
// 配置组件映射表
|
||||
const ConfigurationComponentMap = {
|
||||
@@ -86,9 +93,9 @@ function ChunkMethodForm({
|
||||
} catch (error) {
|
||||
contextForm = null;
|
||||
}
|
||||
|
||||
|
||||
const form = propForm || contextForm;
|
||||
|
||||
|
||||
if (!form) {
|
||||
console.error('ChunkMethodForm: No form context found. Component must be used within a FormProvider or receive a form prop.');
|
||||
return (
|
||||
@@ -108,6 +115,16 @@ function ChunkMethodForm({
|
||||
name: 'parser_id',
|
||||
});
|
||||
|
||||
// 监听 pipeline_id,自动决定构建模式
|
||||
const pipeline_id = useWatch({
|
||||
control,
|
||||
name: 'pipeline_id',
|
||||
});
|
||||
const [buildMode, setBuildMode] = useState<'buildIn' | 'pipeline'>(pipeline_id ? 'pipeline' : 'buildIn');
|
||||
useEffect(() => {
|
||||
setBuildMode(pipeline_id ? 'pipeline' : 'buildIn');
|
||||
}, [pipeline_id]);
|
||||
|
||||
// 根据parser_id动态选择配置组件
|
||||
const ConfigurationComponent = useMemo(() => {
|
||||
const parser = parser_id as DocumentParserType;
|
||||
@@ -117,9 +134,32 @@ function ChunkMethodForm({
|
||||
|
||||
return (
|
||||
<Box sx={{ display: 'flex', flexDirection: 'column', gap: 3 }}>
|
||||
{/* 动态配置内容 */}
|
||||
<ConfigurationComponent />
|
||||
|
||||
{/* 构建模式选择与联动 */}
|
||||
<Card sx={{ p: 3 }}>
|
||||
<CardContent>
|
||||
<RadioFormField
|
||||
name="build_mode"
|
||||
label={t('knowledge.config.buildMode')}
|
||||
defaultValue={buildMode}
|
||||
options={[
|
||||
{ value: 'buildIn', label: 'Built-in' },
|
||||
{ value: 'pipeline', label: 'Pipeline' },
|
||||
]}
|
||||
onChangeValue={(v) => setBuildMode(String(v) as 'buildIn' | 'pipeline')}
|
||||
/>
|
||||
|
||||
{/* 基于模式:内置显示切片方法,Pipeline 显示选择器 */}
|
||||
{buildMode === 'buildIn' ? (
|
||||
<ChunkMethodItem />
|
||||
) : (
|
||||
<PipelineSelectorItem />
|
||||
)}
|
||||
</CardContent>
|
||||
</Card>
|
||||
|
||||
{/* 动态配置内容:始终渲染,内部按 buildMode 控制基础配置显示 */}
|
||||
<ConfigurationComponent buildMode={buildMode} />
|
||||
|
||||
{/* 表单操作按钮 - 仅在有onSubmit回调时显示 */}
|
||||
{onSubmit && (
|
||||
<Box sx={{ mt: 4, display: 'flex', justifyContent: 'flex-end', gap: 2 }}>
|
||||
|
||||
@@ -19,7 +19,7 @@ import {
|
||||
KnowledgeGraphConfigItems,
|
||||
} from './common-items';
|
||||
|
||||
export function AudioConfiguration() {
|
||||
export function AudioConfiguration({ buildMode = 'buildIn' }: { buildMode?: 'buildIn' | 'pipeline' }) {
|
||||
const { formState: { errors } } = useFormContext();
|
||||
const { t } = useTranslation();
|
||||
|
||||
@@ -27,25 +27,27 @@ export function AudioConfiguration() {
|
||||
<ConfigurationFormContainer>
|
||||
<MainContainer>
|
||||
{/* 第一部分:basicConfig 基础配置 */}
|
||||
<Accordion defaultExpanded>
|
||||
<AccordionSummary expandIcon={<ExpandMoreIcon />}>
|
||||
<Typography variant="h6">{t('knowledge.config.basicConfig')}</Typography>
|
||||
</AccordionSummary>
|
||||
<AccordionDetails>
|
||||
{/* 切片方法 */}
|
||||
<Box sx={{ mb: 3 }}>
|
||||
<ChunkMethodItem />
|
||||
</Box>
|
||||
<Divider />
|
||||
{buildMode === 'buildIn' && (
|
||||
<Accordion defaultExpanded>
|
||||
<AccordionSummary expandIcon={<ExpandMoreIcon />}>
|
||||
<Typography variant="h6">{t('knowledge.config.basicConfig')}</Typography>
|
||||
</AccordionSummary>
|
||||
<AccordionDetails>
|
||||
{/* 切片方法 */}
|
||||
<Box sx={{ mb: 3 }}>
|
||||
<ChunkMethodItem />
|
||||
</Box>
|
||||
<Divider />
|
||||
|
||||
<Box sx={{ display: 'flex', flexDirection: 'column', gap: 3, mt: 3 }}>
|
||||
{/* 自动关键词提取 */}
|
||||
<AutoKeywordsItem />
|
||||
{/* 自动问题提取 */}
|
||||
<AutoQuestionsItem />
|
||||
</Box>
|
||||
</AccordionDetails>
|
||||
</Accordion>
|
||||
<Box sx={{ display: 'flex', flexDirection: 'column', gap: 3, mt: 3 }}>
|
||||
{/* 自动关键词提取 */}
|
||||
<AutoKeywordsItem />
|
||||
{/* 自动问题提取 */}
|
||||
<AutoQuestionsItem />
|
||||
</Box>
|
||||
</AccordionDetails>
|
||||
</Accordion>
|
||||
)}
|
||||
|
||||
{/* 第二部分:RAPTOR策略 */}
|
||||
<Accordion>
|
||||
|
||||
@@ -12,30 +12,32 @@ import {
|
||||
KnowledgeGraphConfigItems
|
||||
} from './common-items';
|
||||
|
||||
export function BookConfiguration() {
|
||||
export function BookConfiguration({ buildMode = 'buildIn' }: { buildMode?: 'buildIn' | 'pipeline' }) {
|
||||
const { t } = useTranslation();
|
||||
|
||||
return (
|
||||
<ConfigurationFormContainer>
|
||||
<Box sx={{ display: 'flex', flexDirection: 'column', gap: 3 }}>
|
||||
{/* 第一部分:基础配置 */}
|
||||
<Accordion defaultExpanded>
|
||||
<AccordionSummary expandIcon={<ExpandMoreIcon />}>
|
||||
<Typography variant="h6">{t('knowledge.config.basicConfig')}</Typography>
|
||||
</AccordionSummary>
|
||||
<AccordionDetails>
|
||||
<Box sx={{ display: 'flex', flexDirection: 'column', gap: 3 }}>
|
||||
{/* 分块方法 */}
|
||||
<ChunkMethodItem />
|
||||
{/* 分块token数 */}
|
||||
<ChunkTokenNumberItem />
|
||||
{/* 分隔符 */}
|
||||
<DelimiterItem />
|
||||
{/* 目录增强 */}
|
||||
<TOCEnhanceItem />
|
||||
</Box>
|
||||
</AccordionDetails>
|
||||
</Accordion>
|
||||
{buildMode === 'buildIn' && (
|
||||
<Accordion defaultExpanded>
|
||||
<AccordionSummary expandIcon={<ExpandMoreIcon />}>
|
||||
<Typography variant="h6">{t('knowledge.config.basicConfig')}</Typography>
|
||||
</AccordionSummary>
|
||||
<AccordionDetails>
|
||||
<Box sx={{ display: 'flex', flexDirection: 'column', gap: 3 }}>
|
||||
{/* 分块方法 */}
|
||||
<ChunkMethodItem />
|
||||
{/* 分块token数 */}
|
||||
<ChunkTokenNumberItem />
|
||||
{/* 分隔符 */}
|
||||
<DelimiterItem />
|
||||
{/* 目录增强 */}
|
||||
<TOCEnhanceItem />
|
||||
</Box>
|
||||
</AccordionDetails>
|
||||
</Accordion>
|
||||
)}
|
||||
|
||||
{/* 第二部分:RAPTOR策略 */}
|
||||
<Accordion>
|
||||
|
||||
@@ -9,24 +9,26 @@ import {
|
||||
KnowledgeGraphConfigItems
|
||||
} from './common-items';
|
||||
|
||||
export function EmailConfiguration() {
|
||||
export function EmailConfiguration({ buildMode = 'buildIn' }: { buildMode?: 'buildIn' | 'pipeline' }) {
|
||||
const { t } = useTranslation();
|
||||
|
||||
return (
|
||||
<ConfigurationFormContainer>
|
||||
<Box sx={{ display: 'flex', flexDirection: 'column', gap: 3 }}>
|
||||
{/* 第一部分:基础配置 */}
|
||||
<Accordion defaultExpanded>
|
||||
<AccordionSummary expandIcon={<ExpandMoreIcon />}>
|
||||
<Typography variant="h6">{t('knowledge.config.basicConfig')}</Typography>
|
||||
</AccordionSummary>
|
||||
<AccordionDetails>
|
||||
<Box sx={{ display: 'flex', flexDirection: 'column', gap: 3 }}>
|
||||
{/* 分块方法 */}
|
||||
<ChunkMethodItem />
|
||||
</Box>
|
||||
</AccordionDetails>
|
||||
</Accordion>
|
||||
{buildMode === 'buildIn' && (
|
||||
<Accordion defaultExpanded>
|
||||
<AccordionSummary expandIcon={<ExpandMoreIcon />}>
|
||||
<Typography variant="h6">{t('knowledge.config.basicConfig')}</Typography>
|
||||
</AccordionSummary>
|
||||
<AccordionDetails>
|
||||
<Box sx={{ display: 'flex', flexDirection: 'column', gap: 3 }}>
|
||||
{/* 分块方法 */}
|
||||
<ChunkMethodItem />
|
||||
</Box>
|
||||
</AccordionDetails>
|
||||
</Accordion>
|
||||
)}
|
||||
|
||||
{/* 第二部分:RAPTOR策略 */}
|
||||
<Accordion>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// 配置组件统一导出
|
||||
export { ChunkMethodItem, EmbeddingModelItem } from './common-items';
|
||||
export { ChunkMethodItem, EmbeddingModelItem, PipelineSelectorItem, BasicConfigItems } from './common-items';
|
||||
export { ConfigurationFormContainer, MainContainer } from './configuration-form-container';
|
||||
|
||||
// 所有解析器配置组件
|
||||
|
||||
@@ -29,7 +29,7 @@ import {
|
||||
CommunityReportItem,
|
||||
} from './common-items';
|
||||
|
||||
export function KnowledgeGraphConfiguration() {
|
||||
export function KnowledgeGraphConfiguration({ buildMode = 'buildIn' }: { buildMode?: 'buildIn' | 'pipeline' }) {
|
||||
const { formState: { errors } } = useFormContext();
|
||||
const { t } = useTranslation();
|
||||
|
||||
@@ -37,27 +37,29 @@ export function KnowledgeGraphConfiguration() {
|
||||
<ConfigurationFormContainer>
|
||||
<MainContainer>
|
||||
{/* 第一部分:basicConfig 基础配置 */}
|
||||
<Accordion defaultExpanded>
|
||||
<AccordionSummary expandIcon={<ExpandMoreIcon />}>
|
||||
<Typography variant="h6">{t('knowledge.config.basicConfig')}</Typography>
|
||||
</AccordionSummary>
|
||||
<AccordionDetails>
|
||||
{/* 切片方法 */}
|
||||
<Box sx={{ mb: 3 }}>
|
||||
<ChunkMethodItem />
|
||||
</Box>
|
||||
<Divider />
|
||||
{buildMode === 'buildIn' && (
|
||||
<Accordion defaultExpanded>
|
||||
<AccordionSummary expandIcon={<ExpandMoreIcon />}>
|
||||
<Typography variant="h6">{t('knowledge.config.basicConfig')}</Typography>
|
||||
</AccordionSummary>
|
||||
<AccordionDetails>
|
||||
{/* 切片方法 */}
|
||||
<Box sx={{ mb: 3 }}>
|
||||
<ChunkMethodItem />
|
||||
</Box>
|
||||
<Divider />
|
||||
|
||||
<Box sx={{ display: 'flex', flexDirection: 'column', gap: 3, mt: 3 }}>
|
||||
{/* 嵌入模型 */}
|
||||
<EmbeddingModelItem />
|
||||
{/* 自动关键词提取 */}
|
||||
<AutoKeywordsItem />
|
||||
{/* 自动问题提取 */}
|
||||
<AutoQuestionsItem />
|
||||
</Box>
|
||||
</AccordionDetails>
|
||||
</Accordion>
|
||||
<Box sx={{ display: 'flex', flexDirection: 'column', gap: 3, mt: 3 }}>
|
||||
{/* 嵌入模型 */}
|
||||
<EmbeddingModelItem />
|
||||
{/* 自动关键词提取 */}
|
||||
<AutoKeywordsItem />
|
||||
{/* 自动问题提取 */}
|
||||
<AutoQuestionsItem />
|
||||
</Box>
|
||||
</AccordionDetails>
|
||||
</Accordion>
|
||||
)}
|
||||
|
||||
{/* 第二部分:RAPTOR策略 */}
|
||||
<Accordion>
|
||||
|
||||
@@ -9,24 +9,26 @@ import {
|
||||
KnowledgeGraphConfigItems
|
||||
} from './common-items';
|
||||
|
||||
export function LawsConfiguration() {
|
||||
export function LawsConfiguration({ buildMode = 'buildIn' }: { buildMode?: 'buildIn' | 'pipeline' }) {
|
||||
const { t } = useTranslation();
|
||||
|
||||
return (
|
||||
<ConfigurationFormContainer>
|
||||
<Box sx={{ display: 'flex', flexDirection: 'column', gap: 3 }}>
|
||||
{/* 第一部分:基础配置 */}
|
||||
<Accordion defaultExpanded>
|
||||
<AccordionSummary expandIcon={<ExpandMoreIcon />}>
|
||||
<Typography variant="h6">{t('knowledge.config.basicConfig')}</Typography>
|
||||
</AccordionSummary>
|
||||
<AccordionDetails>
|
||||
<Box sx={{ display: 'flex', flexDirection: 'column', gap: 3 }}>
|
||||
{/* 分块方法 */}
|
||||
<ChunkMethodItem />
|
||||
</Box>
|
||||
</AccordionDetails>
|
||||
</Accordion>
|
||||
{buildMode === 'buildIn' && (
|
||||
<Accordion defaultExpanded>
|
||||
<AccordionSummary expandIcon={<ExpandMoreIcon />}>
|
||||
<Typography variant="h6">{t('knowledge.config.basicConfig')}</Typography>
|
||||
</AccordionSummary>
|
||||
<AccordionDetails>
|
||||
<Box sx={{ display: 'flex', flexDirection: 'column', gap: 3 }}>
|
||||
{/* 分块方法 */}
|
||||
<ChunkMethodItem />
|
||||
</Box>
|
||||
</AccordionDetails>
|
||||
</Accordion>
|
||||
)}
|
||||
|
||||
{/* 第二部分:RAPTOR策略 */}
|
||||
<Accordion>
|
||||
|
||||
@@ -34,7 +34,7 @@ import {
|
||||
KnowledgeGraphConfigItems,
|
||||
} from './common-items';
|
||||
|
||||
export function ManualConfiguration() {
|
||||
export function ManualConfiguration({ buildMode = 'buildIn' }: { buildMode?: 'buildIn' | 'pipeline' }) {
|
||||
const { formState: { errors } } = useFormContext();
|
||||
const { t } = useTranslation();
|
||||
|
||||
@@ -42,27 +42,29 @@ export function ManualConfiguration() {
|
||||
<ConfigurationFormContainer>
|
||||
<MainContainer>
|
||||
{/* 第一部分:basicConfig 基础配置 */}
|
||||
<Accordion defaultExpanded>
|
||||
<AccordionSummary expandIcon={<ExpandMoreIcon />}>
|
||||
<Typography variant="h6">{t('knowledge.config.basicConfig')}</Typography>
|
||||
</AccordionSummary>
|
||||
<AccordionDetails>
|
||||
{/* 切片方法 */}
|
||||
<Box sx={{ mb: 3 }}>
|
||||
<ChunkMethodItem />
|
||||
</Box>
|
||||
<Divider />
|
||||
{buildMode === 'buildIn' && (
|
||||
<Accordion defaultExpanded>
|
||||
<AccordionSummary expandIcon={<ExpandMoreIcon />}>
|
||||
<Typography variant="h6">{t('knowledge.config.basicConfig')}</Typography>
|
||||
</AccordionSummary>
|
||||
<AccordionDetails>
|
||||
{/* 切片方法 */}
|
||||
<Box sx={{ mb: 3 }}>
|
||||
<ChunkMethodItem />
|
||||
</Box>
|
||||
<Divider />
|
||||
|
||||
<Box sx={{ display: 'flex', flexDirection: 'column', gap: 3, mt: 3 }}>
|
||||
{/* 版面识别 */}
|
||||
<LayoutRecognizeItem />
|
||||
{/* 自动关键词提取 */}
|
||||
<AutoKeywordsItem />
|
||||
{/* 自动问题提取 */}
|
||||
<AutoQuestionsItem />
|
||||
</Box>
|
||||
</AccordionDetails>
|
||||
</Accordion>
|
||||
<Box sx={{ display: 'flex', flexDirection: 'column', gap: 3, mt: 3 }}>
|
||||
{/* 版面识别 */}
|
||||
<LayoutRecognizeItem />
|
||||
{/* 自动关键词提取 */}
|
||||
<AutoKeywordsItem />
|
||||
{/* 自动问题提取 */}
|
||||
<AutoQuestionsItem />
|
||||
</Box>
|
||||
</AccordionDetails>
|
||||
</Accordion>
|
||||
)}
|
||||
|
||||
{/* 第二部分:RAPTOR策略 */}
|
||||
<Accordion>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import React, { useEffect, useState } from 'react';
|
||||
import React from 'react';
|
||||
import {
|
||||
Box,
|
||||
Typography,
|
||||
@@ -11,60 +11,29 @@ import { ExpandMore as ExpandMoreIcon } from '@mui/icons-material';
|
||||
import { useFormContext } from 'react-hook-form';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import { ConfigurationFormContainer, MainContainer } from './configuration-form-container';
|
||||
import {
|
||||
ChunkMethodItem,
|
||||
RaptorConfigItems,
|
||||
KnowledgeGraphConfigItems,
|
||||
PipelineSelectorItem,
|
||||
BasicConfigItems,
|
||||
} from './common-items';
|
||||
import { RadioFormField } from '@/components/FormField';
|
||||
import { RaptorConfigItems, KnowledgeGraphConfigItems, BasicConfigItems } from './common-items';
|
||||
// import { RadioFormField } from '@/components/FormField';
|
||||
|
||||
export function NaiveConfiguration() {
|
||||
const { formState: { errors }, watch } = useFormContext();
|
||||
export function NaiveConfiguration({ buildMode = 'buildIn' }: { buildMode?: 'buildIn' | 'pipeline' }) {
|
||||
const { formState: { errors } } = useFormContext();
|
||||
const { t } = useTranslation();
|
||||
const [buildMode, setBuildMode] = useState<'buildIn' | 'pipeline'>('buildIn');
|
||||
|
||||
// 根据表单的 pipeline_id 自动切换 buildMode
|
||||
const pipelineId = watch('pipeline_id');
|
||||
useEffect(() => {
|
||||
setBuildMode(pipelineId ? 'pipeline' : 'buildIn');
|
||||
}, [pipelineId]);
|
||||
|
||||
return (
|
||||
<ConfigurationFormContainer>
|
||||
<MainContainer>
|
||||
{/* 第一部分:basicConfig 基础配置 */}
|
||||
<Accordion defaultExpanded>
|
||||
<AccordionSummary expandIcon={<ExpandMoreIcon />}>
|
||||
<Typography variant="h6">{t('knowledge.config.basicConfig')}</Typography>
|
||||
</AccordionSummary>
|
||||
<AccordionDetails>
|
||||
{/* 切片方法 */}
|
||||
<Box sx={{ mb: 3, display: 'flex', flexDirection: 'column', gap: 3 }}>
|
||||
<RadioFormField
|
||||
name="build_mode"
|
||||
defaultValue="buildIn"
|
||||
options={[
|
||||
{ value: 'buildIn', label: 'Built-in' },
|
||||
{ value: 'pipeline', label: 'Pipeline' },
|
||||
]}
|
||||
onChangeValue={(v) => setBuildMode(String(v) as 'buildIn' | 'pipeline')}
|
||||
/>
|
||||
{buildMode === 'buildIn' ? (
|
||||
<ChunkMethodItem />
|
||||
) : (
|
||||
<PipelineSelectorItem />
|
||||
)}
|
||||
</Box>
|
||||
<Divider />
|
||||
<Box sx={{ mt: 3 }}>
|
||||
{buildMode === 'buildIn' && (
|
||||
{buildMode === 'buildIn' && (
|
||||
<Accordion defaultExpanded>
|
||||
<AccordionSummary expandIcon={<ExpandMoreIcon />}>
|
||||
<Typography variant="h6">{t('knowledge.config.basicConfig')}</Typography>
|
||||
</AccordionSummary>
|
||||
<AccordionDetails>
|
||||
<Box sx={{ display: 'flex', flexDirection: 'column', gap: 3 }}>
|
||||
<BasicConfigItems />
|
||||
)}
|
||||
</Box>
|
||||
</AccordionDetails>
|
||||
</Accordion>
|
||||
</Box>
|
||||
</AccordionDetails>
|
||||
</Accordion>
|
||||
)}
|
||||
|
||||
{/* 第二部分:RAPTOR策略 */}
|
||||
<Accordion>
|
||||
|
||||
@@ -23,7 +23,7 @@ import {
|
||||
KnowledgeGraphConfigItems,
|
||||
} from './common-items';
|
||||
|
||||
export function OneConfiguration() {
|
||||
export function OneConfiguration({ buildMode = 'buildIn' }: { buildMode?: 'buildIn' | 'pipeline' }) {
|
||||
const { formState: { errors } } = useFormContext();
|
||||
const { t } = useTranslation();
|
||||
|
||||
@@ -31,27 +31,29 @@ export function OneConfiguration() {
|
||||
<ConfigurationFormContainer>
|
||||
<MainContainer>
|
||||
{/* 第一部分:basicConfig 基础配置 */}
|
||||
<Accordion defaultExpanded>
|
||||
<AccordionSummary expandIcon={<ExpandMoreIcon />}>
|
||||
<Typography variant="h6">{t('knowledge.config.basicConfig')}</Typography>
|
||||
</AccordionSummary>
|
||||
<AccordionDetails>
|
||||
{/* 切片方法 */}
|
||||
<Box sx={{ mb: 3 }}>
|
||||
<ChunkMethodItem />
|
||||
</Box>
|
||||
<Divider />
|
||||
{buildMode === 'buildIn' && (
|
||||
<Accordion defaultExpanded>
|
||||
<AccordionSummary expandIcon={<ExpandMoreIcon />}>
|
||||
<Typography variant="h6">{t('knowledge.config.basicConfig')}</Typography>
|
||||
</AccordionSummary>
|
||||
<AccordionDetails>
|
||||
{/* 切片方法 */}
|
||||
<Box sx={{ mb: 3 }}>
|
||||
<ChunkMethodItem />
|
||||
</Box>
|
||||
<Divider />
|
||||
|
||||
<Box sx={{ display: 'flex', flexDirection: 'column', gap: 3, mt: 3 }}>
|
||||
{/* 版面识别 */}
|
||||
<LayoutRecognizeItem />
|
||||
{/* 自动关键词提取 */}
|
||||
<AutoKeywordsItem />
|
||||
{/* 自动问题提取 */}
|
||||
<AutoQuestionsItem />
|
||||
</Box>
|
||||
</AccordionDetails>
|
||||
</Accordion>
|
||||
<Box sx={{ display: 'flex', flexDirection: 'column', gap: 3, mt: 3 }}>
|
||||
{/* 版面识别 */}
|
||||
<LayoutRecognizeItem />
|
||||
{/* 自动关键词提取 */}
|
||||
<AutoKeywordsItem />
|
||||
{/* 自动问题提取 */}
|
||||
<AutoQuestionsItem />
|
||||
</Box>
|
||||
</AccordionDetails>
|
||||
</Accordion>
|
||||
)}
|
||||
|
||||
{/* 第二部分:RAPTOR策略 */}
|
||||
<Accordion>
|
||||
|
||||
@@ -20,7 +20,7 @@ import {
|
||||
KnowledgeGraphConfigItems,
|
||||
} from './common-items';
|
||||
|
||||
export function PaperConfiguration() {
|
||||
export function PaperConfiguration({ buildMode = 'buildIn' }: { buildMode?: 'buildIn' | 'pipeline' }) {
|
||||
const { formState: { errors } } = useFormContext();
|
||||
const { t } = useTranslation();
|
||||
|
||||
@@ -28,27 +28,29 @@ export function PaperConfiguration() {
|
||||
<ConfigurationFormContainer>
|
||||
<MainContainer>
|
||||
{/* 第一部分:basicConfig 基础配置 */}
|
||||
<Accordion defaultExpanded>
|
||||
<AccordionSummary expandIcon={<ExpandMoreIcon />}>
|
||||
<Typography variant="h6">{t('knowledge.config.basicConfig')}</Typography>
|
||||
</AccordionSummary>
|
||||
<AccordionDetails>
|
||||
{/* 切片方法 */}
|
||||
<Box sx={{ mb: 3 }}>
|
||||
<ChunkMethodItem />
|
||||
</Box>
|
||||
<Divider />
|
||||
{buildMode === 'buildIn' && (
|
||||
<Accordion defaultExpanded>
|
||||
<AccordionSummary expandIcon={<ExpandMoreIcon />}>
|
||||
<Typography variant="h6">{t('knowledge.config.basicConfig')}</Typography>
|
||||
</AccordionSummary>
|
||||
<AccordionDetails>
|
||||
{/* 切片方法 */}
|
||||
<Box sx={{ mb: 3 }}>
|
||||
<ChunkMethodItem />
|
||||
</Box>
|
||||
<Divider />
|
||||
|
||||
<Box sx={{ display: 'flex', flexDirection: 'column', gap: 3, mt: 3 }}>
|
||||
{/* 版面识别 */}
|
||||
<LayoutRecognizeItem />
|
||||
{/* 自动关键词提取 */}
|
||||
<AutoKeywordsItem />
|
||||
{/* 自动问题提取 */}
|
||||
<AutoQuestionsItem />
|
||||
</Box>
|
||||
</AccordionDetails>
|
||||
</Accordion>
|
||||
<Box sx={{ display: 'flex', flexDirection: 'column', gap: 3, mt: 3 }}>
|
||||
{/* 版面识别 */}
|
||||
<LayoutRecognizeItem />
|
||||
{/* 自动关键词提取 */}
|
||||
<AutoKeywordsItem />
|
||||
{/* 自动问题提取 */}
|
||||
<AutoQuestionsItem />
|
||||
</Box>
|
||||
</AccordionDetails>
|
||||
</Accordion>
|
||||
)}
|
||||
|
||||
{/* 第二部分:RAPTOR策略 */}
|
||||
<Accordion>
|
||||
|
||||
@@ -9,24 +9,26 @@ import {
|
||||
KnowledgeGraphConfigItems
|
||||
} from './common-items';
|
||||
|
||||
export function PictureConfiguration() {
|
||||
export function PictureConfiguration({ buildMode = 'buildIn' }: { buildMode?: 'buildIn' | 'pipeline' }) {
|
||||
const { t } = useTranslation();
|
||||
|
||||
return (
|
||||
<ConfigurationFormContainer>
|
||||
<Box sx={{ display: 'flex', flexDirection: 'column', gap: 3 }}>
|
||||
{/* 第一部分:基础配置 */}
|
||||
<Accordion defaultExpanded>
|
||||
<AccordionSummary expandIcon={<ExpandMoreIcon />}>
|
||||
<Typography variant="h6">{t('knowledge.config.basicConfig')}</Typography>
|
||||
</AccordionSummary>
|
||||
<AccordionDetails>
|
||||
<Box sx={{ display: 'flex', flexDirection: 'column', gap: 3 }}>
|
||||
{/* 分块方法 */}
|
||||
<ChunkMethodItem />
|
||||
</Box>
|
||||
</AccordionDetails>
|
||||
</Accordion>
|
||||
{buildMode === 'buildIn' && (
|
||||
<Accordion defaultExpanded>
|
||||
<AccordionSummary expandIcon={<ExpandMoreIcon />}>
|
||||
<Typography variant="h6">{t('knowledge.config.basicConfig')}</Typography>
|
||||
</AccordionSummary>
|
||||
<AccordionDetails>
|
||||
<Box sx={{ display: 'flex', flexDirection: 'column', gap: 3 }}>
|
||||
{/* 分块方法 */}
|
||||
<ChunkMethodItem />
|
||||
</Box>
|
||||
</AccordionDetails>
|
||||
</Accordion>
|
||||
)}
|
||||
|
||||
{/* 第二部分:RAPTOR策略 */}
|
||||
<Accordion>
|
||||
|
||||
@@ -12,34 +12,36 @@ import {
|
||||
AutoQuestionsItem
|
||||
} from './common-items';
|
||||
|
||||
export function PresentationConfiguration() {
|
||||
export function PresentationConfiguration({ buildMode = 'buildIn' }: { buildMode?: 'buildIn' | 'pipeline' }) {
|
||||
const { t } = useTranslation();
|
||||
|
||||
return (
|
||||
<ConfigurationFormContainer>
|
||||
<Box sx={{ display: 'flex', flexDirection: 'column', gap: 3 }}>
|
||||
{/* 第一部分:基础配置 */}
|
||||
<Accordion defaultExpanded>
|
||||
<AccordionSummary expandIcon={<ExpandMoreIcon />}>
|
||||
<Typography variant="h6">{t('knowledge.config.basicConfig')}</Typography>
|
||||
</AccordionSummary>
|
||||
<AccordionDetails>
|
||||
{/* 切片方法 */}
|
||||
<Box sx={{ mb: 3 }}>
|
||||
<ChunkMethodItem />
|
||||
</Box>
|
||||
<Divider />
|
||||
{buildMode === 'buildIn' && (
|
||||
<Accordion defaultExpanded>
|
||||
<AccordionSummary expandIcon={<ExpandMoreIcon />}>
|
||||
<Typography variant="h6">{t('knowledge.config.basicConfig')}</Typography>
|
||||
</AccordionSummary>
|
||||
<AccordionDetails>
|
||||
{/* 切片方法 */}
|
||||
<Box sx={{ mb: 3 }}>
|
||||
<ChunkMethodItem />
|
||||
</Box>
|
||||
<Divider />
|
||||
|
||||
<Box sx={{ display: 'flex', flexDirection: 'column', gap: 3, mt: 3 }}>
|
||||
{/* 版面识别 */}
|
||||
<LayoutRecognizeItem />
|
||||
{/* 自动关键词提取 */}
|
||||
<AutoKeywordsItem />
|
||||
{/* 自动问题提取 */}
|
||||
<AutoQuestionsItem />
|
||||
</Box>
|
||||
</AccordionDetails>
|
||||
</Accordion>
|
||||
<Box sx={{ display: 'flex', flexDirection: 'column', gap: 3, mt: 3 }}>
|
||||
{/* 版面识别 */}
|
||||
<LayoutRecognizeItem />
|
||||
{/* 自动关键词提取 */}
|
||||
<AutoKeywordsItem />
|
||||
{/* 自动问题提取 */}
|
||||
<AutoQuestionsItem />
|
||||
</Box>
|
||||
</AccordionDetails>
|
||||
</Accordion>
|
||||
)}
|
||||
|
||||
{/* 第二部分:RAPTOR策略 */}
|
||||
<Accordion>
|
||||
|
||||
@@ -9,24 +9,26 @@ import {
|
||||
KnowledgeGraphConfigItems
|
||||
} from './common-items';
|
||||
|
||||
export function QAConfiguration() {
|
||||
export function QAConfiguration({ buildMode = 'buildIn' }: { buildMode?: 'buildIn' | 'pipeline' }) {
|
||||
const { t } = useTranslation();
|
||||
|
||||
return (
|
||||
<ConfigurationFormContainer>
|
||||
<Box sx={{ display: 'flex', flexDirection: 'column', gap: 3 }}>
|
||||
{/* 第一部分:基础配置 */}
|
||||
<Accordion defaultExpanded>
|
||||
<AccordionSummary expandIcon={<ExpandMoreIcon />}>
|
||||
<Typography variant="h6">{t('knowledge.config.basicConfig')}</Typography>
|
||||
</AccordionSummary>
|
||||
<AccordionDetails>
|
||||
<Box sx={{ display: 'flex', flexDirection: 'column', gap: 3 }}>
|
||||
{/* 分块方法 */}
|
||||
<ChunkMethodItem />
|
||||
</Box>
|
||||
</AccordionDetails>
|
||||
</Accordion>
|
||||
{buildMode === 'buildIn' && (
|
||||
<Accordion defaultExpanded>
|
||||
<AccordionSummary expandIcon={<ExpandMoreIcon />}>
|
||||
<Typography variant="h6">{t('knowledge.config.basicConfig')}</Typography>
|
||||
</AccordionSummary>
|
||||
<AccordionDetails>
|
||||
<Box sx={{ display: 'flex', flexDirection: 'column', gap: 3 }}>
|
||||
{/* 分块方法 */}
|
||||
<ChunkMethodItem />
|
||||
</Box>
|
||||
</AccordionDetails>
|
||||
</Accordion>
|
||||
)}
|
||||
|
||||
{/* 第二部分:RAPTOR策略 */}
|
||||
<Accordion>
|
||||
|
||||
@@ -9,24 +9,26 @@ import {
|
||||
KnowledgeGraphConfigItems
|
||||
} from './common-items';
|
||||
|
||||
export function ResumeConfiguration() {
|
||||
export function ResumeConfiguration({ buildMode = 'buildIn' }: { buildMode?: 'buildIn' | 'pipeline' }) {
|
||||
const { t } = useTranslation();
|
||||
|
||||
return (
|
||||
<ConfigurationFormContainer>
|
||||
<Box sx={{ display: 'flex', flexDirection: 'column', gap: 3 }}>
|
||||
{/* 第一部分:基础配置 */}
|
||||
<Accordion defaultExpanded>
|
||||
<AccordionSummary expandIcon={<ExpandMoreIcon />}>
|
||||
<Typography variant="h6">{t('knowledge.config.basicConfig')}</Typography>
|
||||
</AccordionSummary>
|
||||
<AccordionDetails>
|
||||
<Box sx={{ display: 'flex', flexDirection: 'column', gap: 3 }}>
|
||||
{/* 分块方法 */}
|
||||
<ChunkMethodItem />
|
||||
</Box>
|
||||
</AccordionDetails>
|
||||
</Accordion>
|
||||
{buildMode === 'buildIn' && (
|
||||
<Accordion defaultExpanded>
|
||||
<AccordionSummary expandIcon={<ExpandMoreIcon />}>
|
||||
<Typography variant="h6">{t('knowledge.config.basicConfig')}</Typography>
|
||||
</AccordionSummary>
|
||||
<AccordionDetails>
|
||||
<Box sx={{ display: 'flex', flexDirection: 'column', gap: 3 }}>
|
||||
{/* 分块方法 */}
|
||||
<ChunkMethodItem />
|
||||
</Box>
|
||||
</AccordionDetails>
|
||||
</Accordion>
|
||||
)}
|
||||
|
||||
{/* 第二部分:RAPTOR策略 */}
|
||||
<Accordion>
|
||||
|
||||
@@ -9,24 +9,26 @@ import {
|
||||
KnowledgeGraphConfigItems
|
||||
} from './common-items';
|
||||
|
||||
export function TableConfiguration() {
|
||||
export function TableConfiguration({ buildMode = 'buildIn' }: { buildMode?: 'buildIn' | 'pipeline' }) {
|
||||
const { t } = useTranslation();
|
||||
|
||||
return (
|
||||
<ConfigurationFormContainer>
|
||||
<Box sx={{ display: 'flex', flexDirection: 'column', gap: 3 }}>
|
||||
{/* 第一部分:基础配置 */}
|
||||
<Accordion defaultExpanded>
|
||||
<AccordionSummary expandIcon={<ExpandMoreIcon />}>
|
||||
<Typography variant="h6">{t('knowledge.config.basicConfig')}</Typography>
|
||||
</AccordionSummary>
|
||||
<AccordionDetails>
|
||||
<Box sx={{ display: 'flex', flexDirection: 'column', gap: 3 }}>
|
||||
{/* 分块方法 */}
|
||||
<ChunkMethodItem />
|
||||
</Box>
|
||||
</AccordionDetails>
|
||||
</Accordion>
|
||||
{buildMode === 'buildIn' && (
|
||||
<Accordion defaultExpanded>
|
||||
<AccordionSummary expandIcon={<ExpandMoreIcon />}>
|
||||
<Typography variant="h6">{t('knowledge.config.basicConfig')}</Typography>
|
||||
</AccordionSummary>
|
||||
<AccordionDetails>
|
||||
<Box sx={{ display: 'flex', flexDirection: 'column', gap: 3 }}>
|
||||
{/* 分块方法 */}
|
||||
<ChunkMethodItem />
|
||||
</Box>
|
||||
</AccordionDetails>
|
||||
</Accordion>
|
||||
)}
|
||||
|
||||
{/* 第二部分:RAPTOR策略 */}
|
||||
<Accordion>
|
||||
|
||||
@@ -12,25 +12,27 @@ import {
|
||||
AutoQuestionsItem
|
||||
} from './common-items';
|
||||
|
||||
export function TagConfiguration() {
|
||||
export function TagConfiguration({ buildMode = 'buildIn' }: { buildMode?: 'buildIn' | 'pipeline' }) {
|
||||
const { t } = useTranslation();
|
||||
|
||||
return (
|
||||
<ConfigurationFormContainer>
|
||||
<Box sx={{ display: 'flex', flexDirection: 'column', gap: 3 }}>
|
||||
{/* 第一部分:基础配置 */}
|
||||
<Accordion defaultExpanded>
|
||||
<AccordionSummary expandIcon={<ExpandMoreIcon />}>
|
||||
<Typography variant="h6">{t('knowledge.config.basicConfig')}</Typography>
|
||||
</AccordionSummary>
|
||||
<AccordionDetails>
|
||||
{/* 切片方法 */}
|
||||
<Box sx={{ mb: 3 }}>
|
||||
<ChunkMethodItem />
|
||||
</Box>
|
||||
<Divider />
|
||||
</AccordionDetails>
|
||||
</Accordion>
|
||||
{buildMode === 'buildIn' && (
|
||||
<Accordion defaultExpanded>
|
||||
<AccordionSummary expandIcon={<ExpandMoreIcon />}>
|
||||
<Typography variant="h6">{t('knowledge.config.basicConfig')}</Typography>
|
||||
</AccordionSummary>
|
||||
<AccordionDetails>
|
||||
{/* 切片方法 */}
|
||||
<Box sx={{ mb: 3 }}>
|
||||
<ChunkMethodItem />
|
||||
</Box>
|
||||
<Divider />
|
||||
</AccordionDetails>
|
||||
</Accordion>
|
||||
)}
|
||||
|
||||
{/* 第二部分:RAPTOR策略 */}
|
||||
<Accordion>
|
||||
|
||||
Reference in New Issue
Block a user