Skip to content
/ R2R Public

Containerized, state of the art Retrieval-Augmented Generation (RAG) system with a RESTful API

License

Notifications You must be signed in to change notification settings

SciPhi-AI/R2R

Repository files navigation

Docs Discord Github Stars Commits-per-week License: MIT Gurubase: R2R Guru

r2r

Build, scale, and deploy state of the art Retrieval-Augmented Generation applications.

About

R2R (RAG to Riches), the Elasticsearch for RAG, bridges the gap between experimenting with and deploying state of the art Retrieval-Augmented Generation (RAG) applications. It's a complete platform that helps you quickly build and launch scalable RAG solutions. Built around a containerized RESTful API, R2R offers multimodal ingestion support, hybrid search, GraphRAG capabilities, user management, and observability features.

For a more complete view of R2R, check out the full documentation.

Key Features

  • Release 3.1.0    September 6, 2024    

    Warning: These changes are breaking! We will be releasing a migration script soon.

    • Orchestration with Hatchet
    • Default ingestion provider set to Unstructured
    • Improved knowledge graph construction process

Install with pip

The recommended way to get started with R2R is by using our CLI.

pip install r2r

You may run R2R directly from the python package, but additional dependencies like Postgres+pgvector must be configured and the full R2R core is required:

# export OPENAI_API_KEY=sk-...
# export POSTGRES...
pip install 'r2r[core,ingestion-bundle]'
r2r --config-name=default serve

Alternatively, R2R can be launched alongside its requirements inside Docker:

# export OPENAI_API_KEY=sk-...
r2r serve --docker --full

The command above will install the full installation which includes Hatchet for orchestration and Unstructured.io for parsing.

Getting Started

  • Installation: Quick installation of R2R using Docker or pip
  • Quickstart: A quick introduction to R2R's core features

API & SDKs

  • SDK: API reference and Python/JS SDKs for interacting with R2R
  • API: API reference and Python/JS SDKs for interacting with R2R
  • Configuration: A guide on how to configure your R2R system

Cookbooks

Community

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.

Contributing

We welcome contributions of all sizes! Here's how you can help:

Our Contributors