R2R was designed to bridge the gap between local LLM experimentation and scalable, production-ready Retrieval-Augmented Generation (RAG) applications. R2R provides a the latest techniques in RAG and is built around a RESTful API for ease of use.
For a more complete view of R2R, check out the full documentation.
- 📁 Multimodal Support: Ingest files ranging from
.txt
,.pdf
,.json
to.png
,.mp3
, and more. - 🔍 Hybrid Search: Combine semantic and keyword search with reciprocal rank fusion for enhanced relevancy.
- 🔗 Graph RAG: Automatically extract relationships and build knowledge graphs.
- 🗂️ App Management: Efficiently manage documents and users with full authentication.
- 🔭 Observability: Observe and analyze your RAG engine performance.
- 🧩 Configurable: Provision your application using intuitive configuration files.
- 🔌 Extensibility: Develop your application further with easy builder + factory pattern.
- 🖥️ Dashboard: Use the R2R Dashboard, an open-source React+Next.js app with optional authentication, to interact with R2R via GUI.
The recommended way to get started with R2R is by using our CLI.
pip install r2r
Then, after installing R2R, it is recommended to launch with Docker, if possible:
# export OPENAI_API_KEY=sk-...
r2r serve --docker
Alternatively, you may run R2R directly from the python package, but additional dependencies like Postgres+pgvector must be configured:
# export OPENAI_API_KEY=sk-...
# export POSTGRES...
r2r --config-name=default serve
After installing, the R2R Quickstart is your go to for a step-by-step guide to get up and running with R2R in minutes. The guide demonstrates R2R's Retrieval-Augmented Generation (RAG) system by ingesting sample documents and then showcasing features for search, RAG, logging, analytics, and document management.
To get started with R2R, we recommend starting with the quickstart and then moving on to specific cookbooks.
- Installation: Quick setup using Docker or
pip
- R2R Quickstart: A quickstart guide designed to get you familiarized with R2R.
- User Auth: A cookbook showing how to authenticate users using R2R.
- Analytics & Observability: A cookbook showing R2Rs end to end logging and analytics.
- Dashboard: A how-to guide on connecting with the R2R Admin/User Dashboard.
- Multiple LLMs: A simple cookbook showing how R2R supports multiple LLMs.
- Hybrid Search: A brief introduction to running hybrid search with R2R.
- Multimodal RAG: A cookbook on multimodal RAG with R2R.
- Knowledge Graphs: A walkthrough of automatic knowledge graph generation with R2R.
- Advanced Graphs: A walkthrough of R2Rs advanced RAG features.
- Local RAG: A quick cookbook demonstration of how to run R2R with local LLMs.
- Reranking: A short guide on how to apply reranking to R2R results.
Join our Discord server to get support and connect with both the R2R team and other developers in the community. Whether you're encountering issues, looking for advice on best practices, or just want to share your experiences, we're here to help.
We welcome contributions of all sizes! Here's how you can help:
- Open a PR for new features, improvements, or better documentation.
- Submit a feature request or bug report