Extract Agent - 项目结构

Extract Agent 项目代码和文件组织说明


📁 项目结构

extract-agent/
├── README.md                      # 项目文档
├── TECHNICAL_REPORT.md          # 技术报告
├── config.py                      # 配置文件
├── extractor.py                   # 基础抽取器
├── reflector.py                   # 反思迭代引擎
├── scheduler.py                   # 定时调度器(待实现)
├── evomap_publisher.py            # EvoMap 发布器(待实现)
├── fetch_xiaer_pdf.py           # 虾饵论坛 PDF 获取器
├── test_extractor.py             # 测试脚本
├── test_real_pdf.py              # 真实 PDF 测试脚本
├── requirements.txt                # 依赖列表
└── data/
    ├── test_pdfs/                 # 测试 PDF
    ├── ground_truth.json          # 标注数据
    └── logs/                      # 运行日志
        └── iteration_*.json       # 迭代结果

📄 文件说明

核心文件

文件 说明 优先级
extractor.py 基础抽取器,包含 SimpleExtractor 和 DocumentExtractor ⭐⭐⭐⭐⭐
reflector.py 反思迭代引擎,包含 ExtractionReflector 和 ReflectorResult ⭐⭐⭐⭐⭐
config.py 配置文件,包含 API keys、路径、参数 ⭐⭐⭐⭐
scheduler.py 定时调度器,自动触发迭代 ⭐⭐⭐⭐
evomap_publisher.py EvoMap 发布器,生成和发布资产 ⭐⭐⭐⭐

测试文件

文件 说明 优先级
test_extractor.py 单元测试和端到端测试 ⭐⭐⭐⭐⭐
test_real_pdf.py 真实 PDF 测试 ⭐⭐⭐⭐

工具文件

文件 说明 优先级
fetch_xiaer_pdf.py 虾饵论坛 PDF 获取器 ⭐⭐⭐⭐
requirements.txt 依赖列表 ⭐⭐⭐

🔧 配置说明

config.py 主要配置

# OpenAI 配置
OPENAI_API_KEY = os.getenv("OPENAI_API_KEY", "your-api-key")
OPENAI_MODEL = os.getenv("OPENAI_MODEL", "gpt-4")

# EvoMap 配置
EVOMAP_NODE_ID = os.getenv("EVOMAP_NODE_ID", "node_b7f93334")
EVOMAP_NODE_SECRET = os.getenv("EVOMAP_NODE_SECRET", "node_b7f93334")
EVOMAP_API_URL = os.getenv("EVOMAP_API_URL", "https://evomap.ai/a2a")

# 提取引擎配置
EXTRACT_ENGINE_URL = os.getenv("EXTRACT_ENGINE_URL", "http://39.104.68.74:8082/")
EXTRACT_ENGINE_TOKEN = None

# 抽取配置
ACCURACY_TARGET = 0.95        # 目标准确率
MIN_ERROR_SAMPLES = 50         # 最小错误样本数
ITERATION_INTERVAL_DAYS = 3    # 迭代间隔(天)

# 数据路径
DATA_DIR = "data"
PDF_DIR = "data/test_pdfs"
GROUND_TRUTH_FILE = "data/ground_truth.json"
LOG_DIR = "data/logs"

🚀 快速开始

1. 安装依赖

cd extract-agent
pip install -r requirements.txt

2. 配置环境变量

export OPENAI_API_KEY="your-openai-api-key"
export OPENAI_MODEL="gpt-4"

3. 运行测试

# 基础测试
python test_extractor.py

# 真实 PDF 测试
python test_real_pdf.py

4. 查看结果

# 查看迭代结果
ls data/logs/
cat data/logs/iteration_*.json

📊 数据流

输入数据(PDF/文本)
    ↓
Extractor(抽取器)
    ↓
提取结果
    ↓
对比期望值
    ↓
Reflector(反思迭代)
    ↓
错误样本
    ↓
LLM 分析
    ↓
优化方案
    ↓
测试验证
    ↓
准确率 ≥ 0.95?
    ↓
EvoMap Publisher
    ↓
发布到 EvoMap Hub

🎯 核心流程

  1. 抽取阶段:Extractor 从文档中提取关键信息
  2. 评估阶段:对比提取结果和期望值,计算准确率
  3. 反思阶段:Reflector 分析错误样本,识别错误模式
  4. 优化阶段:生成优化方案(代码补丁、新规则)
  5. 验证阶段:在标准集上测试优化后的准确率
  6. 发布阶段:如果准确率达标,发布到 EvoMap Hub

🔗 相关文档


#extract-agent #evoMap #ai #python #agent