Skip to content

Repository files navigation


Logo

TALLA-RAG

Table of Contents
  1. About The Project
  2. Because of Why ?
  3. Usage
  4. Getting Started
  5. Roadmap
  6. Contributing
  7. License
  8. Contact
  9. Acknowledgments

About The Project

Built with

Cassandra Streamlit Docker Ollama Python UV

(back to top)

Because of Why ?

This project was built as a means to experiment myself with NoSql databases. Building a project that implemented Cassandra helped me understand what actually NoSql databases are meant by and particularly the distributed nature Cassandra is famous for. This project helped me get closer to my high end Engineering aspirations and get in touch with uv for dependency management.

Usage

TALLA-RAG is a local application that lets you chat with your documents using a local LLM backed by a Cassandra cluster for vector storage.

  1. Upload a .txt or .pdf file via the sidebar.
  2. Click Ingest to Cluster — chunks are embedded and stored across Cassandra nodes.
  3. Ask questions in the chat — the app retrieves relevant chunks and answers using the LLM only.
  4. Use Clear All Knowledge to wipe the vector store.

Getting Started

Prerequisites

  • Docker & Docker Compose
  • Ollama running locally with the following models pulled:
    ollama pull nomic-embed-text:v1.5
    ollama pull granite3.2:2b
    ollama pull <your_model_name> # in case you prefer another ollama model
    ollama pull <your_embedding_model> # or another embedding model...
    I recommend to check your hardware's capabilities to run opensource LLMs
  • Python 3.11 or higher
  • uv (Python package manager)
       pip install uv

Installation

  1. Clone the repo

    git clone https://github.com/nnay29/cassandra-cluster-RAG.git
    cd cassandra-cluster-RAG
  2. Copy and configure the environment file

    cp .env.example .env

    🚨 Edit .env and set DOCKER_HOST_IP to you machine's local IP address.

  3. Start the Cassandra cluster

    docker-compose up -d
  4. Create a virtual environment

    uv venv
  5. Install Python dependencies

    uv sync
  6. Run the Streamlit app

    streamlit run app.py

    The app will be available at http://localhost:8501

(back to top)

Troubleshooting

If you experience issues during the setup process or while running the app, please check the following:

Issue Category Specific Issue Troubleshooting Solution
Ollama Connection Error ConnectionError: Failed to connect to Ollama. Please check that Ollama is downloaded, running and accessible. - Check whether ollama is installed and running - Also check if the model is pulled successfully
Cluster Offline Error in app UI Cluster Offline (Cassandra cluster status) Wait for the Cassandra containers to finish starting up. Check logs if issue persists
Cluster Offline Error in app UI Could not connect to Cassandra at <IP_ADRESS>:9042 – timeout error Make sure the env variable DOCKER_HOST_IP is set to your machine's local IP adress.
Cluster Offline Error in app UI Cluster Offline + Could not connect to Cassandra at None: contact_points should not contain None (it can resolve to localhost) Make sure the env variable DOCKER_HOST_IP is set to your machine's local IP adress.
Docker Compose Issues Docker Compose not working / not installed (Windows) Verify that you have Docker Desktop installed.
Docker Compose Issues Docker Compose not running Verify that Docker Compose is running. use docker compose ls command
Cassandra Containers Issues Cassandra containers not running Grab some coffee and wait for them to start up, if nothing happens after a while, check the logs.
Cassandra Containers Issues Cassandra logs show errors Check your Docker Compose logs for any error messages. Praise the lord too. I know what I mean...
Streamlit App Issues Streamlit app not running Verify that you activated the virtual environment and are in the right directory. Then use streamlit run app.py command
Streamlit App Issues Streamlit logs show errors Check your Streamlit logs for any error messages.

Open an issue on the GitHub repository if you continue to experience issues. We will try to help you resolve them.

(back to top)

Roadmap

See the open issues for a full list of proposed features (and known issues).

(back to top)

Contact

Project Link: https://github.com/nnay29/cassandra-cluster-RAG

(back to top)

Acknowledgments

(back to top)

About

Demo of a two node cassandra cluster implemented within a RAG chatbot.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages