Files
PlantAI-rag/docs/FUNCTIONAL_INDEX.md
2026-07-10 17:59:59 +08:00

253 lines
8.4 KiB
Markdown
Executable File
Raw Permalink 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.
# 提取器功能索引
> 快速查找:不知道用哪个提取器时,按功能检索本文档
---
## 🔍 快速选择指南
| 你的需求 | 推荐提取器 | 位置 |
|---------|-----------|------|
| **对标PC项目,8种实体** | extractor_fusion_complete.py | extractors/current/fusion/ |
| **完整提取(附表+章节)** | extract_v12_final.py | src/rag/extractors/ |
| **附表处理(Excel)** | extract_v10_with_supplementary.py | scripts/extractors/ |
| **GEO数据下载** | geo_extractor.py | src/rag/extractors/ |
| **附表自动下载** | supplementary_downloader.py | src/rag/extractors/ |
| **实体消歧** | entity_disambiguation_system.py | 根目录 |
| **快速测试** | extract_v12_1_fixed.py | src/rag/extractors/ |
---
## 📂 按位置分类
### 1. 当前推荐提取器 (extractors/current/)
#### fusion/ - PC融合版
| 文件名 | 功能 | 特点 |
|--------|------|------|
| **extractor_fusion_complete.py** | **主提取器** | 8种实体,7种关系,PC规则库,推荐用于对标PC |
| extractor_fusion_v1.py | 融合版v1 | 备份版本 |
#### llm/ - LLM提取器
| 文件名 | 功能 | 特点 |
|--------|------|------|
| **llm_extractor_dashscope.py** | LLM实体提取 | 百炼API,dashscope |
| llm_extractor_simple.py | 简单LLM提取 | 基础版 |
| llm_extractor_v2.py | LLM提取v2 | 旧版 |
| llm_relation_extractor.py | LLM关系提取 | 专用关系抽取 |
| universal_extractor_v2.py | 通用提取器v2 | 通用版 |
---
### 2. RAG集成提取器 (src/rag/extractors/)
#### 核心提取器
| 文件名 | 版本 | 功能 | 特点 |
|--------|------|------|------|
| **extract_v12_final.py** | **v12** | **完整提取** | 附表下载+章节识别+实体过滤,推荐 |
| extract_v12_1_fixed.py | v12.1 | 修复版 | 保存章节文本,可用 |
| extract_v12_1_complete.py | v12.1 | 完整版 | 待验证 |
| extract_v12_1_improved.py | v12.1 | 改进版 | 待验证 |
| extract_v12_1_curl.py | v12.1 | curl版 | 工具 |
| extract_v11_final.py | v11 | v11最终 | 旧版 |
#### 附表/数据相关
| 文件名 | 功能 | 特点 |
|--------|------|------|
| **supplementary_downloader.py** | **附表下载器** | Europe PMC自动下载,核心工具 |
| **geo_extractor.py** | **GEO数据提取** | NCBI GEO数据下载 |
| data_availability_extractor.py | 数据可用性提取 | 检测数据可用性声明 |
| multi_db_extractor.py | 多数据库提取 | 支持多数据库查询 |
| unified_data_extractor.py | 统一数据提取 | 整合多数据源 |
#### 章节处理
| 文件名 | 功能 | 特点 |
|--------|------|------|
| section_supplementer.py | 章节补充器 | PyMuPDF章节补充 |
| section_trigger.py | 章节触发器 | 触发章节补充 |
| marker_section_chunker.py | marker章节切分 | marker-pdf章节识别 |
| hybrid_section_chunker.py | 混合章节切分 | 混合策略 |
#### 实体处理
| 文件名 | 功能 | 特点 |
|--------|------|------|
| **gene_entity_filter.py** | **基因实体过滤** | 过滤有效基因实体 |
| **gene_centric_chunker.py** | **gene-centric chunks** | 以基因为中心的文本块 |
| complete_gene_extractor.py | 完整基因提取 | 专用基因提取 |
| universal_gene_family_extractor.py | 通用基因家族提取 | 通用版 |
| smart_gene_family_extractor.py | 智能提取器 | 智能版v1 |
| smart_gene_family_extractor_v2.py | 智能提取器v2 | 智能版v2 |
#### PDF/文档处理
| 文件名 | 功能 | 特点 |
|--------|------|------|
| enhanced_pdf_extractor.py | 增强PDF提取 | 旧版 |
| enhanced_pdf_extractor_v2.py | 增强PDF提取v2 | 旧版 |
| expression_relation_extractor.py | 表达关系提取 | 专用表达关系 |
| compare_extractors.py | 提取器对比 | 工具 |
---
### 3. 脚本提取器 (scripts/extractors/)
#### v10系列(附表支持)
| 文件名 | 功能 | 特点 |
|--------|------|------|
| **extract_v10_with_supplementary.py** | **v10附表增强** | 自动检测附表目录,Excel解析,推荐 |
| extract_v10_final.py | v10最终 | 旧版 |
| extract_v10_final_v2.py | v10最终v2 | 旧版 |
| extract_v10_revised.py | v10修订 | 旧版 |
| extract_v10_integrated.py | v10集成 | 旧版 |
| extract_v10_chromosome_complete.py | v10染色体完整 | 专用染色体 |
#### v7-v9系列
| 文件名 | 功能 | 特点 |
|--------|------|------|
| extract_v9_complete.py | v9完整 | 归档 |
| extract_v8_rag.py | v8 RAG | 归档 |
| extract_v7_complete.py | v7完整 | 归档 |
| extract_v7_final.py | v7最终 | 归档 |
| extract_v7_full_simple.py | v7简单 | 归档 |
| extract_v7_with_supp.py | v7附表 | 归档 |
#### 系统发育专用
| 文件名 | 功能 | 特点 |
|--------|------|------|
| extract_phylogeny_v7_revised.py | v7修订 | 归档 |
| extract_phylogeny_v7_full.py | v7完整 | 归档 |
| extract_phylogeny_v7.py | v7 | 归档 |
| extract_phylogeny_v6_2_universal.py | v6.2通用 | 归档 |
| extract_phylogeny_v6_full.py | v6完整 | 归档 |
| extract_phylogeny_v6.py | v6 | 归档 |
| extract_phylogeny_v5_universal_v3.py | v5.3通用 | 归档 |
---
### 4. 归档提取器 (extractors/archive/)
| 类别 | 文件 | 说明 |
|------|------|------|
| SUC5 | extractor_suc5*.py (6个) | 早期SUC5实验 |
| PC实验 | extractor_pc_*.py (8个) | PC实验版 |
| 旧版 | extractor_complete_v1.py 等 | 旧版提取器 |
---
### 5. 根目录保留
| 文件名 | 功能 | 保留原因 |
|--------|------|----------|
| **extractor_pc_based.py** | PC规则提取器 | 有硬编码路径依赖 |
| **entity_disambiguation_system.py** | 实体消歧系统 | 核心功能 |
| extract_complete_sentence.py | 句子提取 | 工具 |
---
## 🎯 按功能分类
### 实体提取
| 功能 | 推荐文件 | 位置 |
|------|---------|------|
| 8种实体(PC风格) | extractor_fusion_complete.py | extractors/current/fusion/ |
| 基因实体过滤 | gene_entity_filter.py | src/rag/extractors/ |
| LLM实体提取 | llm_extractor_dashscope.py | extractors/current/llm/ |
### 关系抽取
| 功能 | 推荐文件 | 位置 |
|------|---------|------|
| 7种关系(PC风格) | extractor_fusion_complete.py | extractors/current/fusion/ |
| LLM关系提取 | llm_relation_extractor.py | extractors/current/llm/ |
| 表达关系 | expression_relation_extractor.py | src/rag/extractors/ |
### 附表处理
| 功能 | 推荐文件 | 位置 |
|------|---------|------|
| 附表自动下载 | supplementary_downloader.py | src/rag/extractors/ |
| 附表Excel解析 | extract_v10_with_supplementary.py | scripts/extractors/ |
| 完整流程(含附表) | extract_v12_final.py | src/rag/extractors/ |
### 章节处理
| 功能 | 推荐文件 | 位置 |
|------|---------|------|
| 章节识别(marker) | marker_section_chunker.py | src/rag/extractors/ |
| 章节补充 | section_supplementer.py | src/rag/extractors/ |
### 数据下载
| 功能 | 推荐文件 | 位置 |
|------|---------|------|
| GEO数据 | geo_extractor.py | src/rag/extractors/ |
| 附表下载 | supplementary_downloader.py | src/rag/extractors/ |
| 多数据库 | multi_db_extractor.py | src/rag/extractors/ |
### 消歧
| 功能 | 推荐文件 | 位置 |
|------|---------|------|
| 实体消歧 | entity_disambiguation_system.py | 根目录 |
---
## 📊 版本对比
| 版本 | 附表下载 | 附表解析 | 章节识别 | 关系抽取 | 消歧 | 推荐度 |
|------|---------|---------|---------|---------|------|--------|
| **v12** | ✅ | ✅ | ✅ | ⚠️ | ❌ | ⭐⭐⭐⭐ |
| **v10** | ❌ | ✅ | ⚠️ | ✅ | ❌ | ⭐⭐⭐ |
| **fusion** | ❌ | ❌ | ❌ | ✅ | ❌ | ⭐⭐⭐⭐ |
| **PC** | ❌ | ❌ | ❌ | ❌ | ✅ | 参考 |
---
## 🔧 使用示例
### 示例1:完整提取(推荐)
```python
from src.rag.extractors.extract_v12_final import V12FinalExtractor
extractor = V12FinalExtractor()
result = extractor.extract("paper.pdf")
# 包含:章节识别、附表下载、实体提取、关系抽取
```
### 示例2:PC风格提取
```python
from extractors.current.fusion.extractor_fusion_complete import FusionExtractor
extractor = FusionExtractor()
result = extractor.extract(Path("paper.pdf"))
# 包含:8种实体、7种关系、PC规则库
```
### 示例3:附表下载
```python
from src.rag.extractors.supplementary_downloader import SupplementaryDownloader
downloader = SupplementaryDownloader()
paths = downloader.download_supplementary("10.1234/example", "./output/")
```
---
## 📝 更新记录
- 2026-04-12: 创建功能索引
---
*维护者:xialab的幸运星*