I've open-sourced a tool to chat with your databases
GitHub - sirocco-ventures/raggenie: RAGGENIE: An open-source, low-code platform to build custom Retrieval-Augmented Generation (RAG) Copilets with your own data. Simplify AI development with ease!

  
    
  


RAGGENIE

What is RAGGENIE
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.
RAGGENIE Demo

Demo with database -    
Demo with website data -    

🌎 Communities
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 🐞

📐 Architecture

🔮 Supported LLM Inferences
Raggenie supports inference APIs to different LLM providers to run your model. The are the inference APIs currently supported by us:

OpenAI
Gemini
Claude
Together.ai

🗃️ Data Sources
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:

MySQL
PostgreSQL
GraphQL
Splunk
Bigquery



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:

Google Drive
SharePoint
Dropbox



💡Capabilities
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.

🤖 Agents/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

🖼️ UI Plugin
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
🛠️ Getting Started
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.
How to run Video

📄 Documentation
Comprehensive documentation is available to help you get the most out of RAGGENIE. The full documentation for RAGGENIE can be found here
📦 Installation and running
Raggenie Backend


Installing dependencies


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:





Running RAGGENIE backend
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.
Raggenie Frontend


Move into the ui folder.



Install dependencies



Running RAGGENIE Frontend


To run RAGGENIE frontend, create a .env file and add the URL to backend as env variables
VITE_BACKEND_URL=${BACKEND_URL}


To start the server, run





for more details visit frontend readme
⛔️ Troubleshooting
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 following links for suggested solutions

https://docs.trychroma.com/troubleshooting#sqlite
https://discuss.streamlit.io/t/issues-with-chroma-and-sqlite/47950/4
https://gist.github.com/defulmere/8b9695e415a44271061cc8e272f3c300



🚧 Feature Pipeline
These are the planned features and improvements that are in the pipeline for future releases.

REST API Requests for actions
Web hooks for actions

📜 License
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.
🤝 Contributing
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.
