R2R is a an engine for building user-facing Retrieval-Augmented Generation (RAG) applications. At its core, R2R uses several main components to create and manage these applications: R2RConfig
, R2RBuilder
, R2REngine
, R2RApp
, and R2R
. In this section we will explore all of these components in detail.
The following diagram illustrates how R2R assembles a user-facing application:
R2RConfig is the configuration management class for R2R applications. It serves as the central point for defining and managing all settings required by various components of the R2R system.
Key features of R2RConfig:
Example usage:
R2RBuilder is the central component for assembling R2R applications, using the builder pattern. It provides a flexible way to construct and customize the R2R system.
Key features of R2RBuilder:
Example usage:
R2RApp is the class responsible for setting up the FastAPI application that serves as the interface for the R2R system. It encapsulates the routing and CORS configuration for the R2R API.
Key features of R2RApp:
serve
method to easily start the FastAPI server.Example usage:
By combining these core components, R2R provides a flexible and powerful system for building and deploying RAG applications. The R2RConfig allows for easy customization while the R2RBuilder facilitates the assembly process. Lastly, the R2RApp offers a robust API interface.
R2R is a an engine for building user-facing Retrieval-Augmented Generation (RAG) applications. At its core, R2R uses several main components to create and manage these applications: R2RConfig
, R2RBuilder
, R2REngine
, R2RApp
, and R2R
. In this section we will explore all of these components in detail.
The following diagram illustrates how R2R assembles a user-facing application:
R2RConfig is the configuration management class for R2R applications. It serves as the central point for defining and managing all settings required by various components of the R2R system.
Key features of R2RConfig:
Example usage:
R2RBuilder is the central component for assembling R2R applications, using the builder pattern. It provides a flexible way to construct and customize the R2R system.
Key features of R2RBuilder:
Example usage:
R2RApp is the class responsible for setting up the FastAPI application that serves as the interface for the R2R system. It encapsulates the routing and CORS configuration for the R2R API.
Key features of R2RApp:
serve
method to easily start the FastAPI server.Example usage:
By combining these core components, R2R provides a flexible and powerful system for building and deploying RAG applications. The R2RConfig allows for easy customization while the R2RBuilder facilitates the assembly process. Lastly, the R2RApp offers a robust API interface.