Introduction to Super-Rag
Super-Rag stands as a super-performant Retrieval-Augmented Generation (RAG) pipeline tailor-made for AI applications. This project offers a robust framework that promises seamless integration and functionality across a variety of software environments.
Key Features
- Document and Database Compatibility: Super-Rag supports various document formats and is compatible with multiple vector databases, making it versatile for different data needs.
- Production-Ready REST API: It provides a REST API that is poised for production use, ensuring reliability and ease of integration with existing systems.
- Customizable Data Processing: The pipeline offers options for splitting and chunking documents to enhance data processing efficiency. Users can also choose different encoding models, whether proprietary or open-source.
- Code Interpreter Mode: Super-Rag includes a built-in code interpreter mode suitable for computational question and answer scenarios, adding another layer of interactivity and functionality.
- Session Management: It allows for session management using unique IDs, optimizing caching and improving performance.
Cloud API
For users seeking a straightforward entry point, the Cloud API is the easiest way to get started with Super-Rag. It is accessible for free within reasonable usage limits, providing a hassle-free option to explore its capabilities without local deployment.
Installation Guide
Setting up Super-Rag is a streamlined process:
-
Clone the Repository: Start by cloning the Super-Rag repository to your local machine.
git clone https://github.com/superagent-ai/super-rag cd super-rag
-
Set Up a Virtual Environment: Create and activate a virtual environment.
virtualenv env source env/bin/activate
or
python3 -m venv env source env/bin/activate
-
Install Required Packages: Use Poetry to install the necessary packages for the project.
poetry install
-
Configure Environment Variables: Rename
.env.example
to.env
and set the required environment variables. -
Run the Server: Start the Super-Rag server to begin using it.
uvicorn main:app --reload
Interpreter Mode
Super-Rag supports computational Q&A tasks through code interpreters powered by custom runtimes from E2B.dev. Users can either receive an API key for use in the cloud environment or set up their own runtimes by following the provided instructions.
How to Use Super-Rag
Super-Rag operates with a streamlined REST API powered by FastApi, enabling users to manage documents effectively.
Ingest Documents
Users can ingest documents using a POST request, allowing for easy integration of their files into the Super-Rag system.
Query Documents
The query functionality supports document searches using a vector database framework. Users can customize the search with filters and session management for improved accuracy and efficiency.
Delete Documents
Deleting documents is as easy as making a simple POST request, effectively managing data lifecycles within the Super-Rag ecosystem.
Supported Encoders and Vector Databases
Super-Rag boasts compatibility with a variety of encoders and vector databases. Supported encoders include OpenAi, Cohere, and HuggingFace, with additional options like Mistral and Anthropic on the horizon. For vector databases, Super-Rag supports Pinecone, Qdrant, and Weaviate, among others, with more to be included soon.
In summary, Super-Rag offers a comprehensive solution for those seeking an efficient RAG pipeline with broad compatibility and ease of use. Its suite of features makes it an invaluable resource for developers looking to incorporate AI capabilities into their applications.