在RAG(检索增强生成)系统评测中,高质量的问答对数据集是验证系统效果的关键。传统方式依赖人工从文档中逐条编写问题和答案,耗时耗力且难以规模化,成为制约RAG评测效率的主要瓶颈。
本系统通过多Agent协同架构,实现了从PDF文档到问答对的自动化生成。系统利用MinerU API精准解析PDF(支持公式、表格、OCR),采用双Agent并行出题策略,同时生成直白问题和逻辑推理问题两类题型,并基于Jaccard相似度智能去重。整个过程从文档解析、文本切片、题目生成到Excel输出全流程自动化,大幅降低了人工成本,提升了评测数据的生产效率,为RAG系统的快速迭代和效果验证提供了可靠的数据支撑

┌──────────────────────────────────────────────────────────────┐
│ PDF智能出题协同环境 │
│ │
│ Step 1: MinerU API ───→ PDF → Markdown │
│ │ │
│ Step 2: 文本切片 ────→ Markdown → 512字符切片 │
│ │ │
│ ┌────┴────┐ │
│ ▼ ▼ │
│ ┌────────────┐ ┌────────────┐ │
│ │ 直白问题 │ │ 逻辑问题 │ ← 并行 (asyncio.gather) │
│ │ Agent │ │ Agent │ │
│ │ (直接回答) │ │ (推理判断) │ │
│ └─────┬──────┘ └─────┬──────┘ │
│ │ │ │
│ └───────┬───────┘ │
│ ▼ │
│ 汇总去重 + Excel输出 │
│ │
│ ┌─────────────┐ ┌─────────────┐ │
│ │ MinerU API │ │ 千帆/Ollama │ │
│ │ (PDF解析) │ │ (LLM出题) │ │
│ └─────────────┘ └─────────────┘ │
└──────────────────────────────────────────────────────────────┘协作模式:串行解析 → 并行出题(Fan-out) → 串行汇总
核心理念:

pdf-question-generator/
├── main.py # 主入口
├── config.py # 全局配置
├── merger.py # 汇总去重+Excel输出
├── core/
│ ├── __init__.py
│ ├── llm_client.py # LLM客户端(千帆+Ollama双后端)
│ ├── pdf_parser.py # MinerU API PDF解析
│ ├── text_splitter.py # 文本切片(512字符+完整段落)
│ └── prompt_loader.py # 提示词模板加载器
├── agents/
│ ├── __init__.py
│ ├── base_agent.py # Agent基类
│ ├── direct_agent.py # 直白问题Agent
│ └── logic_agent.py # 逻辑问题Agent
├── prompts/
│ ├── direct_agent.md # 直白问题提示词
│ └── logic_agent.md # 逻辑问题提示词
├── output/ # 输出目录
└── requirements.txtpip install -r requirements.txt# 默认模式:千帆LLM + 本地PDF文件
python3 main.py 'output/train.pdf'
# 通过URL解析PDF
python3 main.py --url https://example.com/paper.pdf
# 切换到Ollama
python3 main.py --ollama 'output/train.pdf'
# 自定义参数
python3 main.py --chunk-size 256 --num-direct 3 --num-logic 3 ./doc.pdfpython3 main.py help--ollama | ||
--url | ||
--chunk-size N | ||
--num-direct N | ||
--num-logic N |
LLM_PROVIDER | ||
QIANFAN_API_KEY | ||
QIANFAN_MODEL | ||
OLLAMA_BASE_URL | ||
OLLAMA_MODEL | ||
MINERU_TOKEN | ||
MINERU_MODEL_VERSION | ||
CHUNK_SIZE | ||
NUM_DIRECT_QUESTIONS | ||
NUM_LOGIC_QUESTIONS | ||
SIMILARITY_THRESHOLD |
运行后在 output/ 目录下生成:
parsed_content.md | |
{文件名}_questions.xlsx | |
{文件名}_questions.json |
通过网盘分享的文件:pdf-question-generator.zip
链接: https://pan.baidu.com/s/10_AYlL6-iBL6IdW6m8PxQw?pwd=52z5 提取|码|: 52z5
--来自百度网盘超级会员v4的分享
# 软件教程
# RAG评测必备-PDF文件智能出题Agent【附带源||码||】
# 关键词
# 后端
# 文档
# 两类
# 切换到
# 默认值
# 切分
# 是怎么
# 两种
# 自定义
# 规模化
# 小明
# 高质量
# 生产效率
# 客户端
# 本系
# 实现了
# 加载
# 迭代
# 百度网
相关栏目:
【
设计资讯7769 】
【
行业资讯35393 】
相关文章:
创意咖啡平面广告设计
饮食方面的平面广告设计
平面广告设计中的五大原则
咖啡色在平面广告设计中的魅力与应用
产品简约平面广告设计
平面广告设计字
统计局平面广告设计
平面广告设计的规划和目标
电脑平面广告设计动漫
平面广告设计的名词解释
平面广告设计师实习生
防晒喷雾平面广告设计
平面广告设计调查报告
平面广告设计色彩实践
简述平面广告设计的任务
文字立体化平面广告设计
融合插平面广告设计
平面广告设计工作室的运营模式
平面广告设计日记
建设类平面广告设计
瑜伽馆店铺平面广告设计
节奏感平面广告设计案例
吸烟的创意平面广告设计
平面广告设计基本工资
八零年代的平面广告设计
练小妃平面广告设计
平面广告设计字体立体化
少儿讲座平面广告设计的行业文章
平面广告设计与实训
牛肉平面广告设计
平面广告设计插画亲和感
周大福品牌平面广告设计
平面广告设计月平均工资
平面广告设计史
AI人工智能平面广告设计
平面广告设计的职责
平面广告设计说明
网络营销平面广告设计价格
我们有信仰的平面广告设计
平面广告设计工作累不累
平面广告设计与制作印刷
日本风格的平面广告设计
中华平面广告设计
视觉传达平面广告设计毕设:探索创意与商业的完美结合
平面广告设计有几大要素
经典平面广告设计的过程
平面广告设计和网站
平面广告设计源文件
校园运动会平面广告设计
知名设计师的平面广告设计