allycat / README.md
niloydebbarma's picture
Update README.md
176f160 verified
metadata
title: AllyCat Graph
emoji: 🧠
colorFrom: blue
colorTo: purple
sdk: docker
app_file: app_flask_graph.py
pinned: false
Alley Cat

License Issues GitHub stars

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 🌟🌟

  1. Dual RAG Modes: Traditional Vector RAG and Advanced GraphRAG with entity extraction and community detection
  2. Web Crawling & Scraping: Text extraction, data/HTML processing, conversion to markdown.
  3. Processing: Chunking, vector embedding creation, saving to vector database.
  4. Multiple LLM Support:
  5. Multiple Database Support:
  6. Flexible Deployment: Docker support with 3 modes (Cloud, Hybrid, Local) + Native Python
  7. 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

See customizing allycat

Deploying AllyCat

See deployment guide

Developing AllyCat

See 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?!