Spaces:
Runtime error
title: AllyCat Graph
emoji: 🧠
colorFrom: blue
colorTo: purple
sdk: docker
app_file: app_flask_graph.py
pinned: false
AllyCat
AllyCat is a full stack, open source chatbot that uses GenAI LLMs to answer questions about your website with both traditional Vector RAG and advanced GraphRAG capabilities. It is simple by design and will run on your laptop or server.
Why?
AllyCat is purposefully simple so it can be used by developers to learn how RAG-based GenAI works. Yet it is powerful enough to use with your website. You may also extend it for your own purposes.
⭐ Found this tool helpful? Give it a star on GitHub to support the project and help others discover it!
🗞️ Allycat news - releases and new features!
How does it work?
AllyCat uses your choice of LLM and vector database to implement a chatbot written in Python using RAG architecture. AllyCat also includes web scraping tools that extract data from your website (or any website).
🌟🌟 Features 🌟🌟
- Dual RAG Modes: Traditional Vector RAG and Advanced GraphRAG with entity extraction and community detection
- Web Crawling & Scraping: Text extraction, data/HTML processing, conversion to markdown.
- Currently uses: Data Prep Kit Connector and Docling
- Processing: Chunking, vector embedding creation, saving to vector database.
- Currently uses: Llama Index and Granite Embedding Model
- Multiple LLM Support:
- Multiple Database Support:
- Vector: Milvus (local/embedded) or Zilliz Cloud
- Graph: Neo4j for GraphRAG knowledge graphs
- Flexible Deployment: Docker support with 3 modes (Cloud, Hybrid, Local) + Native Python
- Chatbot Interfaces: Flask web UI and Chainlit chat interface
⚡️⚡️Quickstart ⚡️⚡️
There are two ways to run Allycat.
Option 1: Use the Docker image
A great option for a quick evaluation.
See running AllyCat using docker
Option 2: Run natively (for tweaking, developing)
Choose this option if you want to tweak AllyCat to fit your needs. For example, experimenting with embedding models or LLMs.
See running AllyCat natively
AllyCat Workflow
See running allycat
Customizing AllyCat
Deploying AllyCat
See deployment guide
Developing AllyCat
Why the name AllyCat?
Originally AllianceChat, we shortened it to AllyCat when we learned chat means cat in French. Who doesn't love cats?!
