🧬 Gene Family MAS V14 - 完整RAG工作流架构

1
文档解析 (MinerU)
PDF → 结构化JSON
PDF文件
→
MinerU解析
→
结构化JSON
📄 输入目录
原始PDF文件存放位置
paper/v14/{family}/raw/*.pdf
🔧 MinerU解析
布局分析、OCR、公式识别、表格识别
magic-pdf CLI / Python API
📤 输出格式
content_list.json, middle.json, model.json, .md
paper/v14/{family}/mineru/{article}/
2
信息提取 (V14.2)
JSON → 实体+关系
MinerU输出
→
V14Extractor
→
实体+关系
🎯 Phase 1: 文档解析
MinerUDocumentParser - 提取章节和全文
src/rag/extractors/v14/phase1_document_parser_mineru.py
🎯 Phase 2: 附表处理
SupplementaryProcessor - 下载和解析附表
src/rag/extractors/v14/phase2_supplementary_processor.py
🎯 Phase 3: 实体识别
EntityRecognizer + EntityLinker - 7类实体识别和链接
src/rag/extractors/v14/phase3_entity_recognition.py
🎯 Phase 4: 关系抽取
RelationExtractor - 841种模式 + 14被动转主动规则
src/rag/extractors/v14/phase4_relation_extraction.py
🎯 Phase 5: 后处理
PostProcessor - 验证证据、去重、生成gene-centric chunks
src/rag/extractors/v14/phase5_post_processing.py
🎯 Phase 6: VLM图像提取
VLMImageExtractor - 从图像中提取关系(可选)
src/rag/extractors/v14/phase6_vlm_image_extraction.py
📤 提取输出
JSON格式:entities, relations, metadata, sections
paper/v14/{family}/extracted/{article}.json
3
数据转换
提取结果 → 标准化格式
🔄 convert_to_kg.py
V14.2提取结果 → 知识图谱格式(实体+关系)
待创建
🔄 convert_to_chunks.py
V14.2提取结果 → 文本块(含embedding)
待创建
extracted/*.json
→
转换工具
→
kg/*.json + chunks/*.json
4
知识图谱入库 (Neo4j)
实体+关系 → 图数据库
🔧 import_kg_to_neo4j.py
导入知识图谱到Neo4j(已存在)
scripts/import_kg_to_neo4j.py ✅
🏗️ KG Builder
构建知识图谱(已存在)
src/rag/kg_builder.py ✅
💾 Neo4j数据库
实体节点、关系边、文档节点
data/neo4j/ ✅
5
向量索引构建
文本块 → 向量索引
🔧 build_vector_index.py
增量构建向量索引(待创建)
待创建
📊 Qdrant向量库
生产向量存储(已存在)
data/qdrant_storage/ ✅
📊 FAISS索引
内存向量索引(可选)
data/rag_index_final/ (当前为空)
6
混合检索 (Hybrid Retrieval)
多路召回 + 融合
🔍 混合检索策略
1️⃣ 向量检索
语义相似度搜索(FAISS/Qdrant)
src/rag/hybrid_retriever.py ✅
2️⃣ 图检索
知识图谱查询(Neo4j Cypher)
src/rag/kg_builder.py ✅
3️⃣ BM25检索
关键词匹配
src/rag/hybrid_retriever.py ✅
4️⃣ 融合排序
RRF融合 + 加权排序
src/rag/hybrid_retriever.py: merge_results() ✅
7
重排 (Reranking)
精排优化
🎯 重排策略
BGE重排序
交叉编码器精排
src/rag/citation_ranker.py: rerank_with_bge() ✅
引用数加权
高引用论文加权
src/rag/citation_ranker.py: rerank() ✅
8
Agentic RAG查询 (LangGraph)
自主决策 + 多轮迭代
🤖 LangGraph Agent工作流
用户查询输入
QueryAnalyzer
分析意图、提取实体
RetrievalStrategy
选择检索策略
IterativeRetriever
多轮迭代检索
ResultEvaluator
评估结果质量
↓ 不满意?返回重新检索 ↓
生成答案 + 添加引用
🎛️ Orchestrator
LangGraph编排器,管理状态流转
src/rag/agentic/orchestrator.py ✅
🧠 QueryAnalyzer
查询意图分析
src/rag/agentic/query_analyzer.py ✅
🎯 RetrievalStrategy
动态选择检索策略
src/rag/agentic/retrieval_strategy.py ✅
🔁 IterativeRetriever
多轮迭代检索
src/rag/agentic/iterative_retriever.py ✅
✅ ResultEvaluator
结果质量评估
src/rag/agentic/result_evaluator.py ✅

🔧 工具状态汇总

extract_spl_batch.py
❌ 待创建 - 批量提取SPL文章
convert_to_kg.py
❌ 待创建 - 转换为知识图谱格式
convert_to_chunks.py
❌ 待创建 - 转换为文本块
build_vector_index.py
❌ 待创建 - 增量构建向量索引
import_kg_to_neo4j.py
✅ 已存在 - 导入知识图谱
kg_builder.py
✅ 已存在 - 知识图谱构建
hybrid_retriever.py
✅ 已存在 - 混合检索
citation_ranker.py
✅ 已存在 - 重排序
orchestrator.py
✅ 已存在 - LangGraph编排
V14Extractor
✅ 已存在 - V14.2提取器