Search-o1:人大清华联合推出动态检索推理框架,使模型能够在推理过程中动态检索外部知识

本文涉及的产品
NLP 自学习平台,3个模型定制额度 1个月
NLP自然语言处理_基础版,每接口每天50万次
NLP自然语言处理_高级版,每接口累计50万次
简介: Search-o1 是中国人民大学和清华大学联合推出的创新框架,通过动态知识检索和精炼,提升大型推理模型在复杂任务中的推理能力。

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日分享大模型与 AI 领域的最新开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦


🚀 快速阅读

  1. 功能特点:支持动态知识检索,填补推理过程中的知识空白,提升推理准确性。
  2. 技术原理:基于代理检索增强生成(RAG)机制和Reason-in-Documents模块,实现知识检索与推理的无缝集成。
  3. 应用场景:适用于科学研究、数学教育、编程开发、开放域问答等多个复杂推理任务。

正文(附运行示例)

Search-o1 是什么

Search-o1

Search-o1 是中国人民大学和清华大学联合推出的创新框架,旨在提升大型推理模型(LRMs)在复杂问题中的推理能力。该框架通过整合代理检索增强生成(RAG)机制和Reason-in-Documents模块,使模型能够在推理过程中动态检索外部知识,填补知识空白。

RAG 机制支持模型自主决定何时发起搜索查询,而Reason-in-Documents模块则负责精炼检索到的文档,提取对当前推理步骤有用的信息。这种设计确保了信息能够无缝集成到推理链中,保持推理的连贯性和逻辑性。Search-o1 在多个复杂推理任务和开放域问答基准测试中展现了卓越的性能,为构建更可靠、更通用的智能系统提供了新的途径。

Search-o1 的主要功能

  • 动态知识检索:在推理过程中,当模型遇到知识空白时,动态地检索外部知识,支持逐步推理。
  • 知识精炼:将检索到的文档精炼成简洁、相关的信息,确保信息无缝集成到推理链中,保持推理的连贯性。
  • 提高推理准确性:基于补充外部知识,减少因知识不足导致的推理错误,提高推理的准确性和可信度。
  • 多任务适用性:在科学、数学、编程等多个复杂推理任务及开放域问答任务中表现出色,展示了广泛的适用性。

Search-o1 的技术原理

  • 代理检索增强生成(RAG)机制
  • 自主检索:模型在推理过程中自主决定何时生成搜索查询,触发检索机制获取相关外部知识。
  • 动态迭代:检索机制在单个推理会话中多次触发,满足不同推理步骤的知识需求。
  • 特殊符号:搜索查询和检索结果被特殊符号包围,确保检索过程与推理链的无缝对接。
  • Reason-in-Documents模块
  • 文档分析:基于当前搜索查询、检索到的文档和之前的推理步骤,对文档进行深入分析。
  • 信息提取:从文档中提取与当前推理步骤直接相关的信息,确保信息的准确性和相关性。
  • 精炼输出:生成简洁、相关的信息,并将其无缝集成到推理链中,保持推理的连贯性和逻辑一致性。

如何运行 Search-o1

1. 环境配置

首先,确保你已经安装了 Python 3.9+ 和 Conda 环境。然后,按照以下步骤配置环境:

# 创建 Conda 环境
conda create -n search_o1 python=3.9
conda activate search_o1

# 安装依赖
cd Search-o1
pip install -r requirements.txt

2. 数据准备

使用 data/data_pre_process.ipynb 中的代码将数据集预处理为标准化的 JSON 格式。数据集分为两类:

  • 复杂推理任务:如 GPQA、MATH500、AMC2023、AIME2024 等。
  • 开放域问答任务:如 NQ、TriviaQA、HotpotQA 等。

3. 模型推理

Search-o1 提供了多种推理模式,以下是运行示例:

  1. 直接推理模式

    python scripts/run_direct_gen.py \
     --dataset_name gpqa \
     --split diamond \
     --model_path "YOUR_MODEL_PATH"
    
  2. 朴素检索增强生成(RAG)模式

    python scripts/run_naive_rag.py \
     --dataset_name gpqa \
     --split diamond \
     --use_jina True \
     --model_path "YOUR_MODEL_PATH" \
     --jina_api_key "YOUR_JINA_API_KEY" \
     --bing_subscription_key "YOUR_BING_SUBSCRIPTION_KEY"
    
  3. Search-o1 模式

    python scripts/run_search_o1.py \
     --dataset_name aime \
     --split test \
     --max_search_limit 5 \
     --max_turn 10 \
     --top_k 10 \
     --max_doc_len 3000 \
     --use_jina True \
     --model_path "YOUR_MODEL_PATH" \
     --jina_api_key "YOUR_JINA_API_KEY" \
     --bing_subscription_key "YOUR_BING_SUBSCRIPTION_KEY"
    

4. 评估

推理脚本会自动保存模型的输入和输出文本以供评估。对于检索增强方法,如果模型未能提供最终答案,可以使用回退策略:

python scripts/evaluate.py \
    --output_path outputs/... \
    --apply_backoff

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日分享大模型与 AI 领域的最新开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦

相关文章
|
10月前
|
机器学习/深度学习 人工智能 安全
GLM-Zero:智谱AI推出与 OpenAI-o1-Preview 旗鼓相当的深度推理模型,开放在线免费使用和API调用
GLM-Zero 是智谱AI推出的深度推理模型,专注于提升数理逻辑、代码编写和复杂问题解决能力,支持多模态输入与完整推理过程输出。
588 24
GLM-Zero:智谱AI推出与 OpenAI-o1-Preview 旗鼓相当的深度推理模型,开放在线免费使用和API调用
|
10月前
|
机器学习/深度学习 人工智能 自然语言处理
DeepSeek Artifacts:在线实时预览的前端 AI 编程工具,基于DeepSeek V3快速生成React App
DeepSeek Artifacts是Hugging Face推出的免费AI编程工具,基于DeepSeek V3,支持快速生成React和Tailwind CSS代码,适合快速原型开发和前端组件构建。
2293 39
DeepSeek Artifacts:在线实时预览的前端 AI 编程工具,基于DeepSeek V3快速生成React App
|
10月前
|
算法 数据可视化 测试技术
共学 | 2025年,更加有效地搭建Agent
2024年末,Anthropic写了一篇叫做“Building effective Agents”的文章,针对如何有效的搭建Agent,常见Agent工作流程的几种范式,以及对现在的Code Agent工作模式做了详细的解读。本文结合cookbook+ModelScope的免费Qwen API做了一些中文示例的实践,来更好的理解这篇文章。
1746 7
共学 | 2025年,更加有效地搭建Agent
|
10月前
|
人工智能 机器人
开源了一个项目,小🔥了一把
收集了github上1000个高质量的AI项目,包含了大模型,智能体,提示词工程,微调,模型,RAG,机器人,智能助理等,没想到一天就有这么多star了。
476 5
|
10月前
|
人工智能 运维 监控
操作系统智能助手OS Copilot新功能测评
本文介绍了操作系统智能助手OS Copilot的新功能测评。作为一名运维工程师,作者分享了安装过程中遇到的小问题及解决方法,并详细描述了使用体验。OS Copilot在回答速度、命令执行和任务处理方面表现一般,但提供了便捷的自动化操作,适合新手学习。作者指出其优点包括深度定制化、简化重复工作和对新手友好;不足之处在于回答不够流畅、汉化程度低且智能化水平有待提高。整体评分6分,未来有提升空间。
|
10月前
|
人工智能 并行计算 搜索推荐
SPAR3D:一张图片就能生成3D模型,每个物体的重建时间仅需0.7秒!
SPAR3D 是由 Stability AI 和伊利诺伊大学香槟分校推出的先进单图生成3D模型方法,支持快速推理与用户交互式编辑,适用于多种3D建模场景。
1645 30
SPAR3D:一张图片就能生成3D模型,每个物体的重建时间仅需0.7秒!
|
JSON 数据可视化 API
GraphRAG+Ollama,构建本地精准全局问答系统!
RAG 是目前大语言模型相关最知名的工具之一,从外部知识库中检索事实,以便为大型语言模型 (LLM) 提供最准确、最新的信息。
|
11月前
|
搜索推荐 物联网 PyTorch
Qwen2.5-7B-Instruct Lora 微调
本教程介绍如何基于Transformers和PEFT框架对Qwen2.5-7B-Instruct模型进行LoRA微调。
12003 34
Qwen2.5-7B-Instruct Lora 微调
|
10月前
|
人工智能 数据处理 语音技术
Pipecat实战:5步快速构建语音与AI整合项目,创建你的第一个多模态语音 AI 助手
Pipecat 是一个开源的 Python 框架,专注于构建语音和多模态对话代理,支持与多种 AI 服务集成,提供实时处理能力,适用于语音助手、企业服务等场景。
714 23
Pipecat实战:5步快速构建语音与AI整合项目,创建你的第一个多模态语音 AI 助手
|
10月前
|
机器学习/深度学习 人工智能 缓存
每个人都可以成为虚拟主播,一键创建属于你的虚拟形象,RAIN 为你实时生成逼真动画角色
RAIN 是一款创新的实时动画生成工具,支持在消费级硬件上实现无限视频流的实时动画化,适用于直播、虚拟角色生成等场景。
529 25
每个人都可以成为虚拟主播,一键创建属于你的虚拟形象,RAIN 为你实时生成逼真动画角色

热门文章

最新文章