feat(knowledge): add RAPTOR and Knowledge Graph config sections to parsers

refactor(knowledge): reorganize parser configuration components into accordions
This commit is contained in:
2025-11-03 17:47:33 +08:00
parent 19b70a4abd
commit 74c4f798a5
40 changed files with 1251 additions and 617 deletions

View File

@@ -1,39 +1,108 @@
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 { ChunkMethodItem, EmbeddingModelItem } from './common-items';
import { Box, Typography } from '@mui/material';
import { ConfigurationFormContainer, MainContainer } from './configuration-form-container';
import {
ChunkMethodItem,
EmbeddingModelItem,
AutoKeywordsItem,
AutoQuestionsItem,
UseRaptorItem,
RaptorPromptItem,
RaptorMaxTokenItem,
RaptorThresholdItem,
RaptorMaxClusterItem,
RaptorRandomSeedItem,
UseGraphragItem,
EntityTypesItem,
GraphragMethodItem,
EntityNormalizeItem,
CommunityReportItem,
} from './common-items';
export function KnowledgeGraphConfiguration() {
const { formState: { errors } } = useFormContext();
const { t } = useTranslation();
return (
<>
<ChunkMethodItem />
<EmbeddingModelItem />
<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 />
<Box sx={{ mb: 2 }}>
<Typography variant="body2" color="text.secondary">
{t('knowledge.config.pageRankConfigTodo')}
</Typography>
</Box>
<Box sx={{ display: 'flex', flexDirection: 'column', gap: 3, mt: 3 }}>
{/* 嵌入模型 */}
<EmbeddingModelItem />
{/* 自动关键词提取 */}
<AutoKeywordsItem />
{/* 自动问题提取 */}
<AutoQuestionsItem />
</Box>
</AccordionDetails>
</Accordion>
<Box sx={{ mb: 2 }}>
<Typography variant="body2" color="text.secondary">
{t('knowledge.config.entityTypeConfigTodo')}
</Typography>
</Box>
{/* 第二部分RAPTOR策略 */}
<Accordion>
<AccordionSummary expandIcon={<ExpandMoreIcon />}>
<Typography variant="h6">{t('knowledge.config.raptorStrategy')}</Typography>
</AccordionSummary>
<AccordionDetails>
<Box sx={{ display: 'flex', flexDirection: 'column', gap: 3 }}>
{/* 使用召回增强RAPTOR策略 */}
<UseRaptorItem />
{/* 提示词 */}
<RaptorPromptItem />
{/* 最大token数 */}
<RaptorMaxTokenItem />
{/* 阈值 */}
<RaptorThresholdItem />
{/* 最大聚类数 */}
<RaptorMaxClusterItem />
{/* 随机种子 */}
<RaptorRandomSeedItem />
</Box>
</AccordionDetails>
</Accordion>
<Box sx={{ mb: 2 }}>
<Typography variant="body2" color="text.secondary">
{t('knowledge.config.maxTokenConfigTodo')}
</Typography>
</Box>
<Box sx={{ mb: 2 }}>
<Typography variant="body2" color="text.secondary">
{t('knowledge.config.delimiterConfigTodo')}
</Typography>
</Box>
</>
{/* 第三部分Knowledge Graph 知识图谱 */}
<Accordion>
<AccordionSummary expandIcon={<ExpandMoreIcon />}>
<Typography variant="h6">{t('knowledge.config.knowledgeGraph')}</Typography>
</AccordionSummary>
<AccordionDetails>
<Box sx={{ display: 'flex', flexDirection: 'column', gap: 3 }}>
{/* 提取知识图谱 */}
<UseGraphragItem />
{/* 实体类型 */}
<EntityTypesItem />
{/* 方法 */}
<GraphragMethodItem />
{/* 实体归一化 */}
<EntityNormalizeItem />
{/* 社区报告生成 */}
<CommunityReportItem />
</Box>
</AccordionDetails>
</Accordion>
</MainContainer>
</ConfigurationFormContainer>
);
}