Search-o1  by sunnynexus

Agentic RAG framework for large reasoning models

created 7 months ago
994 stars

Top 38.1% 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

2 months ago

Responsiveness

1 day

Pull Requests (30d)
0
Issues (30d)
2
Star History
163 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.