AI个人学习
和实操指南
豆包Marscode1

DeepResearcher:基于强化学习驱动AI研究复杂问题

综合介绍

DeepResearcher 是由上海交通大学 GAIR-NLP 团队开发的开源项目。它是一个基于大型语言模型(LLM)的智能研究工具,通过强化学习(RL)在真实网络环境中进行端到端训练。项目旨在帮助用户高效完成复杂研究任务。它能自动搜索信息、验证数据准确性,并生成详细结果。DeepResearcher 支持 7B 参数模型,已在 Hugging Face 上开源。用户可通过 GitHub 获取代码,适合研究人员、学生和技术爱好者使用。

DeepResearcher:基于强化学习驱动AI研究复杂问题-1


DeepResearcher:基于强化学习驱动AI研究复杂问题-1

 

功能列表

  • 自动化研究:输入问题后,自动搜索网络并整理相关信息。
  • 跨来源验证:从多个来源(如 Google、Bing)检查数据,确保结果可靠。
  • 自我反思调整:根据搜索结果自我评估,调整研究方向以提高准确性。
  • 制定研究计划:在处理复杂问题时,自动生成研究步骤。
  • 保持诚实:无法找到明确答案时,会直接说明局限性。
  • 开源模型支持:提供 7B 参数模型,用户可下载并定制。

 

使用帮助

DeepResearcher 的安装和使用需要一定技术基础,但官方文档提供了清晰指引。以下是详细步骤,帮助用户快速上手。

安装流程

  1. 克隆代码仓库
    在终端运行以下命令,将项目下载到本地:
git clone https://github.com/GAIR-NLP/DeepResearcher.git

进入项目目录:

cd DeepResearcher
  1. 创建虚拟环境
    使用 conda 创建独立的 Python 环境,避免依赖冲突:
conda create -n deepresearcher python=3.10

激活环境:

conda activate deepresearcher
  1. 安装核心依赖
    在项目根目录依次运行以下命令,安装 PyTorch 和其他必要库:
pip3 install torch==2.4.0 --index-url https://download.pytorch.org/whl/cu124
pip3 install flash-attn --no-build-isolation
cd verl
pip3 install -e .
cd ../
pip3 install -r requirements.txt

这些步骤确保模型运行所需的基础环境就位。

  1. 验证安装
    输入以下命令检查 PyTorch 是否正常安装:
python -c "import torch; print(torch.__version__)"

如果显示版本号(如 2.4.0),说明安装成功。

配置与启动

DeepResearcher 使用 Ray 框架进行训练和推理,还需要配置搜索服务。下面是具体操作。

启动 Ray 服务

  1. 设置节点排名
    在终端输入以下命令,设置节点编号(即使只有一台机器也需设置):
export PET_NODE_RANK=0
ray start --head
  1. 配置搜索服务
  • 打开 ./scrl/handler/config.yaml,修改搜索 API 密钥:
    • 使用 Serper API:填入 serper_api_key
    • 使用 Azure Bing:填入 azure_bing_search_subscription_key 并设置 search_engine 为 Bing。
  • 编辑 ./scrl/handler/server_handler.py,添加 Qwen-Plus API 密钥:
    client = OpenAI(
    api_key="sk-xxx",
    base_url="xxxx"
    )
    
  1. 启动服务处理器
    在终端运行:
python ./scrl/handler/server_handler.py

服务启动后,记录服务地址,更新 ./scrl/handler/config.yaml 中的 server_url_list

  1. 运行主处理器
    在训练主机上运行:
python ./scrl/handler/handler.py

训练模型

  1. 执行训练脚本
    在项目根目录运行:
bash train_grpo.sh

训练过程会基于强化学习优化模型,需耐心等待。

使用与推理

  1. 生成研究结果
    运行评估脚本:
bash evaluate.sh

输出文件会保存在 ./outputs/{project_name}/{experiment_name}/rollout/rollout_step_0.json

  1. 查看结果
    将输出文件重命名为 {experiment_name}_result.json,移至 ./evaluate/ 文件夹,然后运行:
python ./evaluate/cacluate_metrics.py {experiment_name}

得分会保存在 ./evaluate/{experiment_name}_score.json

特色功能操作

  • 自动化研究与跨来源验证
    用户输入问题后,DeepResearcher 会通过配置的搜索引擎(如 Google、Bing)收集数据,并交叉验证结果。日志文件 ./outputs/research_log.txt 会记录验证过程。
  • 自我反思调整
    如果初始结果不理想,系统会自动调整关键词或搜索策略。例如,输入“AI 在医疗的应用”可能变为“AI 医疗最新技术”,结果会更精准。
  • 保持诚实
    当问题无明确答案时,它会返回类似“当前信息不足以给出确切结论”的提示,而不是胡乱猜测。

注意事项

  • 确保网络连接稳定,搜索功能依赖实时数据。
  • 训练和推理需要较高计算资源,推荐使用 GPU。
  • 项目仍在开发中,建议关注 GitHub 上的更新。

通过以上步骤,用户可以轻松安装并使用 DeepResearcher,体验它的智能研究能力。

 

应用场景

  1. 学术研究
    研究人员可以用它搜索论文资料,验证信息来源,生成研究报告初稿。
  2. 学生学习
    学生可以用它整理课程相关知识,快速完成作业或项目调研。
  3. 技术开发
    开发者可以用它探索技术趋势,获取行业最新动态和解决方案。

 

QA

  1. DeepResearcher 支持中文吗?
    支持。用户可以用中文输入问题,它会优先搜索中文资源,也能处理英文数据。
  2. 需要 GPU 吗?
    不强制,但 GPU 可以加速训练和推理。CPU 也能运行,只是速度较慢。
  3. 如何获取最新版本?
    在项目目录运行 git pull,然后重新安装依赖即可更新。
未经允许不得转载:首席AI分享圈 » DeepResearcher:基于强化学习驱动AI研究复杂问题
zh_CN简体中文