Search-o1  by RUC-NLPIR

Agentic RAG framework for large reasoning models

Created 8 months ago
1,044 stars

Top 36.0% on SourcePulse

GitHubView on GitHub
Project Summary

Search-o1 is a framework designed to enhance Large Reasoning Models (LRMs) by integrating an agentic Retrieval-Augmented Generation (RAG) mechanism. It addresses the knowledge insufficiency and uncertainty issues that LRMs face during prolonged reasoning processes, making it suitable for researchers and developers working on complex, knowledge-intensive tasks.

How It Works

Search-o1 augments LRMs with an agentic search workflow and a Reason-in-Documents module. The agentic search allows the model to dynamically retrieve external knowledge when encountering uncertain information. The Reason-in-Documents module then refines and integrates this retrieved information into the reasoning chain, reducing noise and maintaining coherence. This is achieved through a batch generation mechanism with interleaved search, where queries are detected and documents are retrieved, refined, and integrated in batches to improve reliability and accuracy.

Quick Start & Requirements

  • Installation: Create a conda environment (conda create -n search_o1 python=3.9) and install requirements (pip install -r requirements.txt).
  • Prerequisites: Python 3.9+, Bing Search API subscription key, Jina API subscription key (for URL content fetching).
  • Data Preparation: Requires preprocessing datasets into a standardized JSON format using data/data_pre_process.ipynb. Supported datasets include GPQA, MATH500, AMC2023, AIME2024, LiveCodeBench, NQ, TriviaQA, HotpotQA, 2WikiMultihopQA, MuSiQue, and Bamboogle.
  • Inference: Run inference using provided scripts like scripts/run_search_o1.py.
  • Links: Homepage, Paper

Highlighted Details

  • Integrates an agentic search process for dynamic knowledge retrieval.
  • Employs a Reason-in-Documents module for seamless integration of retrieved information.
  • Utilizes batch generation with interleaved search for efficient processing.
  • Supports various challenging reasoning tasks and open-domain QA.

Maintenance & Community

The project is associated with authors from Renmin University of China. Contact is available via email at xiaoxi_li@ruc.edu.cn. A "To Do List" indicates ongoing development for adding more backbone models, improving tool utilization, and incorporating additional tools.

Licensing & Compatibility

  • License: MIT License.
  • Compatibility: Permissive for commercial use and closed-source linking.

Limitations & Caveats

The evaluation strategy includes a backoff to direct generation if retrieval-based methods fail to provide a final answer, suggesting potential issues with the effective utilization of retrieved text by the model in its current state.

Health Check
Last Commit

4 weeks ago

Responsiveness

1 day

Pull Requests (30d)
0
Issues (30d)
1
Star History
35 stars in the last 30 days

Explore Similar Projects

Starred by Elie Bursztein Elie Bursztein(Cybersecurity Lead at Google DeepMind), Joe Walnes Joe Walnes(Head of Experimental Projects at Stripe), and
1 more.

KAG by OpenSPG

0.4%
8k
Logical reasoning framework for domain knowledge bases
Created 1 year ago
Updated 1 month ago
Feedback? Help us improve.