Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chat with Your Websites with GraphRAG

This is my feature addition to Allycat - a Chatbot talking to websites.

I added GraphRAG functionality which is a normal RAG pproach in AI where the R path includes a Knowledge Graph.

This builds off Neo4j as the Graph Database, the Neo4j GraphRAG Python Package, a GUI (chatbot interface), and python with a few utilities including beautifulsoup for the web scraping.

My addition is the following 4 files:

1_crawl_site_bs4.py (beautoful soup custom scraper)

2b_process_html_bs4.py

3a_save_to_graph_db.py

4_query_graph.py

With these files and a running neo4j database you can crawl and query any website and talk to your website with the added benefits of additional context and reduced hallucinations, which graph technology and graph databases provide.

Next Steps: Finish Jupiter notebook versions of the workflow Add additional detailed comments


Alley Cat

License Issues GitHub stars

AllyCat

AllyCat is full stack, open source chatbot that uses GenAI LLMs to answer questions about your website. 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.

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. Chatbot with interface to answer questions with text scraped from a website
  2. Includes web crawling & scraping, text extraction, data/HTML processing, conversion to markdown
  3. Processing Chunking, vector embedding creation, saving to vector database
  4. Supports multiple LLMs
  5. Supports multiple vector databases and knowledge graph integration
  6. End User and New Contributor Friendly

⚡️⚡️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?!

About

AI Alliance scraper

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages