科学工具
科学工具让世界更美好
让世界更美好

智能知识图谱构建与QA评测系统 MedResearcher-R1

MedResearcher-R1是一个训练数据生成与合成框架,通过知识驱动的轨迹合成方法解决领域专用AI推理的挑战,能创建专门的推理模型。MedResearcher-R1核心功能体现在三个集成组件上:知识图谱构建系统,能智能地从领域知识中生成高质量的问答对及自动推理路径,支持交互式可视化、高级采样算法和批处理;轨迹生成管道,负责将问答对转化为包含工具交互的多轮推理轨迹,具备先进的质量过滤和基于大型语言模型(LLM)的智能重写优化功能;评估管道,提供全面的模型评估与数据验证框架,支持交互式单问题推理和批处理数据集评估。

1、知识图谱构建模块

该模块是框架的数据基础,专注于将分散的领域知识转化为结构化的知识图谱,并生成带有推理路径的问答对,核心能力包括:

可视化交互:采用D3.js力导向图实现交互式网页可视化,支持实时查看图谱构建过程,单个实体的图谱生成、拓展与QA生成均可直观呈现,能通过星座图高亮关键节点。

复杂子图提取:提供5种先进采样算法(混合采样、增强链采样、社区核心路径采样、双核心桥接采样、最大链采样),可精准提取复杂领域知识中的关键子图。

QA生成能力:支持深度概念模糊处理,结合定量推理与多范式问题合成,生成多样化问答对;针对多跳复杂问题,能自动生成“解题指南”,包含详细的分步推理过程。

批量处理机制:支持多实体并发QA生成,具备智能QPS控制、进度实时监控与任务断点续跑功能,同时可加载WikiData种子数据,支持自定义参数配置以适配不同场景需求。

质量评测功能:集成R1模型对生成的QA数据进行质量评估,提供标准数据对比与通过率统计,确保输出数据的可靠性。

2、轨迹生成流水线

该模块承接知识图谱模块输出的QA对,将其转化为带有工具交互的多轮推理轨迹,为模型训练提供高质量样本,主要功能包括:

智能代理框架:支持多轮推理与工具集成,可同时处理多个任务,模拟真实场景下的推理过程。

质量过滤机制:通过基于token的有效性验证、工具调用与响应匹配检查、自动错误检测等手段,筛选出符合训练要求的轨迹数据。

轨迹优化能力:借助大语言模型(LLM)实现轨迹改写,创新性引入“掩码轨迹引导(MTG)”技术,提升轨迹数据的合理性与可用性。

3、评估流水线

该模块用于验证训练数据质量与模型推理性能,提供多维度、可配置的评估方案,包括:

单问题推理评估:支持单个问题的分步推理过程可视化,便于直观观察模型的推理逻辑。

批量数据集评估:采用多worker并行处理机制,支持配置rollouts参数与超时控制,可高效完成大规模数据集的评估任务。

除上述核心模块功能外,MedResearcher-R1还具备多项细节特性,进一步提升框架的实用性与易用性: 接口友好性:知识图谱模块提供Web前端界面,用户通过浏览器访问http://localhost:5000即可操作单条QA测试、批量生成等功能。

灵活的配置选项:轨迹生成与评估过程中,支持自定义模型API地址、数据集路径、并发数等参数,适配不同硬件环境与使用需求。

完善的工具链:配套tools目录提供工具调用相关代码,支持修改LLM客户端以适配不同API服务(如OpenRouter)。

性能表现

基于MedResearcher-R1框架训练的专用推理模型,在多个权威 benchmarks 中展现出优异性能,具体数据如下:

Benchmark 模型性能(分数) 对比模型表现(部分)
GAIA 53.4 AQSearch-32B(53.2)、Qwen-2.5-32B_search-o1(53.3)
XBench 39.8 WebSailor-32B_ReAct(33.3)、QwQ-32B_search-o1(19.0)
MedBrowseComp 33.3 o4_mini_direct(25.0)、gemini2.5pro_deepresearch(28.2)

MedResearcher-R1模型在医疗领域专用数据集(MedBrowseComp)与通用深度推理数据集(GAIA、XBench)中,均优于多数同级别模型,验证了框架生成训练数据的有效性与模型的推理能力。

MedResearcher-R1使用指南

1、开源数据集

框架开源了通过知识图谱模块构建的高质量QA数据集,路径为TrajectoryGenerationPipeline/qa_data/open_data.jsonl,数据集包含:

• 复杂推理问答对(含多跳问题)

• 每条问题对应的详细分步推理路径

2、环境搭建

项目要求Python版本≥3.10,支持两种环境搭建方式:

方式1:使用venv

# 创建虚拟环境
python -m venv .venv
# 激活环境(Linux/macOS)
source .venv/bin/activate
# 安装依赖
pip install -r requirements.txt

方式2:使用conda

# 创建指定Python版本的环境
conda create -n med_researcher python=3.10
# 激活环境
conda activate med_researcher
# 安装依赖
pip install -r requirements.txt

3、快速启动流程

步骤1:配置环境变量

set -a
# 在env.example文件中填写个人配置(如API密钥)
source env.example
set +a

步骤2:(可选)启动知识图谱Web服务

python KnowledgeGraphConstruction/start_web.py

启动后访问http://localhost:5000,通过前端界面熟悉QA生成与质量评估流程。

步骤3:批量生成QA数据或使用开源数据集

# 进入知识图谱模块目录
cd KnowledgeGraphConstruction
# 批量生成QA数据(max-iterations值越大,生成问题越复杂)
python batch_qa_cli.py --seed-file demo_medical.csv --output ../TrajectoryGenerationPipeline/dataset/qa.jsonl --max-iterations 1

# 或使用开源数据集
# cp ../TrajectoryGenerationPipeline/qa_data/open_data.jsonl ../TrajectoryGenerationPipeline/dataset/qa.jsonl

步骤4:生成并优化推理轨迹

1、编辑TrajectoryGenerationPipeline/src/trajectory_generation/config.json,修改以下参数:

llm_config.api_key_env:API密钥对应的环境变量名(需提前设置环境变量)

llm_config.api_base:模型API基础地址

generation.model:模型名称(OpenRouter模型可参考 openrouter.ai/models

generation.dataset:数据集路径(JSONL格式)

2、执行轨迹生成与后处理:

# 进入轨迹生成模块目录
cd ../TrajectoryGenerationPipeline
# 运行推理轨迹生成
python src/trajectory_generation/run_reasoning.py
# 轨迹质量过滤
python src/postprocessing/pipeline.py --input_dir generation/your_model_name/your_dataset --mode eval_filter
# 轨迹改写优化
python src/postprocessing/pipeline.py --input_dir generation/your_model_name/your_dataset --mode rewrite

步骤5:模型训练与服务部署

使用rewritten_results.jsonl数据进行模型训练,训练完成后可通过sglang部署服务:

# 安装sglang
pip install sglang[all]
# 启动模型服务(示例:使用2张GPU,端口6001)
CUDA_VISIBLE_DEVICES=0,1 python -m sglang.launch_server --model-path /path/to/your/model --port 6001 --host 0.0.0.0 --mem-fraction-static 0.95 --tp-size 2

步骤6:模型评估

1、编辑EvaluationPipeline/evaluation_config.json,配置模型API相关参数:

llm.api_base:模型API基础地址

llm.model:模型名称(可选)

llm.api_key_env:API密钥环境变量名(可选)

2、执行评估:

# 进入评估模块目录
cd ../EvaluationPipeline
# 单问题交互式评估
python eval_cli.py --mode interactive
# 批量数据集评估(20个worker)
python eval_cli.py --mode batch --dataset sample --workers 20