# ReZero: Enhancing LLM search ability by trying one-more-time

ReZero trains a small language model to develop effective search behaviors instead of memorizing static data. It interacts with multiple synthetic search engines, each with unique retrieval mechanisms, to refine queries and persist in searching until it finds exact answers. The project focuses on reinforcement learning, preventing overfitting, and optimizing for efficiency in real-world search applications.
[**Quick Demo**](#quick-demo-) | [**Setup**](#setup-๏ธ) | [**Data and Training**](#data-and-training-) | [**Models**](#models-) | [**Experiments**](#experiments-) | [**References**](#references-) | [**Acknowledgements**](#acknowledgements-)
## Setup ๐ ๏ธ
```bash
# Clone the repository
git clone https://github.com/menloresearch/ReZero
cd ReZero
# Create virtual environment
python -m venv .venv
# Activate the environment
source .venv/bin/activate
# Install dependencies
pip install --upgrade pip
pip install -e .
# Set up environment variables (required for websearch demo)
cp .env.example .env
# Edit .env and add your Tavily API key if you want to use the websearch demo
```
## Quick Demo ๐