RAGGENIE is a low-code RAG builder designed to make it easy to build your own conversational AI applications. RAGGENIE out of the box pluggins where you can connect to multiple data sources and create a conversational AI on top of that, along with integrating it with pre-built agents for actions.
The project is in its early stages, and we are working on adding more capabilities soon.
• Open-source tool: Since there is some community interest in this project and we can't build all the plugins ourselves, we decided to release it under the MIT license, giving the community full freedom.
• Current focus: We are currently focused on making it easy to build RAG Application. Going forward we will be focusing on maintaince and monitoring of the RAG system as well cosidering how to help these applications to take from pilots to production.
Join our communities for product updates, support, and to stay connected with the latest from RAGGENIE!
- Join our Slack community
- Leave a star on our GitHub 🌟
- Report bugs with GitHub Issues 🐞
Raggenie supports inference APIs to different LLM providers to run your model. The are the inference APIs currently supported by us:
These connectors will help you connect your data to RAG. It can handle structured or unstructured data, enabling the RAG to answer questions from these sources.
-
Structured Datasources(airtable):
You can use raggenie to connect to your data sources to analyse it or to intergrate it to your application. Raggenie generates queries to execute on your data sources and provides the results. Current integrations are: -
Document based sources(default):
These sources allows you to load documents such as text documents or Word documents to create an AI chat application that can interact with this data. Current integrations are:
you can have more functionalities from RAGGENIE than just as a chatbot by defining its capabilities. They can be used to do tasks such as booking a meeting, checking a calendar, or completing a form from the chat.
Capabilities of the chatbot are defined by the user at the time of configuration. You can setup parameters required for each capability.
- RAGGENIE can make sure that all the parameters are obtained for executing the capability.
- RAGGENIE uses intent extraction to decide which of its defined capabilities should be used.
- Capabilities can be used to trigger different actions.
RAGGENIE can do actions to accomplish tasks with user queries. These can be setup along with capabilities to make RAGGENIE more than just a coversation bot. Currently supported actions are.
- Fetch data from a database
- Insert data into database
This component will help you embed the chat widget into your UI with JavaScript. So that you can embeed this as a chat bot to your website or portal
You can use RAGGENIE to create your own conversational chat feature for your application either by integrating it as a chatbot or by embedding it into your application. You can also use it to create different chatbots for different internal teams by tuning each chatbot for different tasks and using different knowledge base for different usecases.
Comprehensive documentation is available to help you get the most out of RAGGENIE. The full documentation for RAGGENIE can be found here
-
Using
requirements.txt
To install the required dependencies with
pip
, run:pip install -r requirements.txt
-
Using Poetry
First, install Poetry:
curl -sSL https://install.python-poetry.org | python3 -
Then, to install the dependencies, run:
poetry install
To run RAGGENIE in API mode, specify the config file to use by running the following command:
python main.py --config ./config.yaml llm
Below is a sample configuration for the vector database setup in config.yaml
:
vector_db:
name: "chroma"
params:
path: "./vector_db"
embeddings:
provider: "chroma_default"
This configuration ensures that the RAGGENIE system connects to the chroma
vector database and uses the default embeddings provided by Chroma.
If you encounter an error while running Python, please check the following
-
Your system has an unsupported version of sqlite3. Chroma requires sqlite3 >= 3.35.0
This issue arises when the system is running a version of SQLite that is below 3.35. Chroma requires SQLite version 3.35 or higher.
Please use the follwing links for suggested solutions
These are the planned features and improvements that are in the pipeline for future releases.
- REST API Requests for actions
- Web hooks for actions
RagGenie is licensed under the MIT License, which is a permissive open-source license that allows you to freely use, modify, and distribute the software with very few restrictions.
Contributions are welcome! Please check the outstanding issues and feel free to open a pull request. For more information, please check out the contribution guidelines.