Files
TERES_web_frontend/src/pages/knowledge/configuration/manual.tsx
guangfei.zhao b610ee0a8f feat(knowledge): add parse type enum and refactor configuration components
refactor(configuration): replace buildMode with parseType in all config components
2025-11-07 13:30:59 +08:00

87 lines
2.7 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import React from 'react';
import {
Box,
Typography,
Accordion,
AccordionSummary,
AccordionDetails,
Divider,
} from '@mui/material';
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 {
ChunkTokenNumberItem,
DelimiterItem,
LayoutRecognizeItem,
AutoKeywordsItem,
AutoQuestionsItem,
HtmlForExcelItem,
UseRaptorItem,
RaptorPromptItem,
RaptorMaxTokenItem,
RaptorThresholdItem,
RaptorMaxClusterItem,
RaptorRandomSeedItem,
UseGraphragItem,
EntityTypesItem,
GraphragMethodItem,
EntityNormalizeItem,
CommunityReportItem,
RaptorConfigItems,
KnowledgeGraphConfigItems,
} from './common-items';
import { ParseType } from '@/constants/knowledge';
export function ManualConfiguration({ parseType = ParseType.BuildIn }: { parseType?: ParseType }) {
const { formState: { errors } } = useFormContext();
const { t } = useTranslation();
return (
<ConfigurationFormContainer>
<MainContainer>
{/* 第一部分basicConfig 基础配置 */}
{parseType === ParseType.BuildIn && (
<Accordion defaultExpanded>
<AccordionSummary expandIcon={<ExpandMoreIcon />}>
<Typography variant="h6">{t('knowledge.config.basicConfig')}</Typography>
</AccordionSummary>
<AccordionDetails>
<Divider />
<Box sx={{ display: 'flex', flexDirection: 'column', gap: 3, mt: 3 }}>
{/* 版面识别 */}
<LayoutRecognizeItem />
{/* 自动关键词提取 */}
<AutoKeywordsItem />
{/* 自动问题提取 */}
<AutoQuestionsItem />
</Box>
</AccordionDetails>
</Accordion>
)}
{/* 第二部分RAPTOR策略 */}
<Accordion>
<AccordionSummary expandIcon={<ExpandMoreIcon />}>
<Typography variant="h6">{t('knowledge.config.raptorStrategy')}</Typography>
</AccordionSummary>
<AccordionDetails>
<RaptorConfigItems />
</AccordionDetails>
</Accordion>
{/* 第三部分Knowledge Graph 知识图谱 */}
<Accordion>
<AccordionSummary expandIcon={<ExpandMoreIcon />}>
<Typography variant="h6">{t('knowledge.config.knowledgeGraph')}</Typography>
</AccordionSummary>
<AccordionDetails>
<KnowledgeGraphConfigItems />
</AccordionDetails>
</Accordion>
</MainContainer>
</ConfigurationFormContainer>
);
}