Skip to main content

Local private RAG pipeline — LangChain + Ollama + ChromaDB + NFS support

Project description

ZettaBrain RAG

Local private RAG pipeline — your documents, your hardware, zero cloud.

Chat with your documents using a fully local AI. No API keys. No data leaving your machine. Runs on your own server or laptop.


Install

Choose the method that suits your environment:


Option 1 — pipx (Recommended for developers)

pipx installs ZettaBrain into an isolated environment and exposes the CLI globally. No virtualenv management needed.

# Install pipx if you don't have it
apt install -y pipx          # Ubuntu / Debian
brew install pipx            # macOS

# Install ZettaBrain
pipx install zettabrain-rag

# Verify
zettabrain --version

Option 2 — One-line installer (Recommended for servers)

The fastest path on a fresh Linux server. Handles Python, Ollama, NFS client, and all dependencies automatically.

curl -fsSL https://raw.githubusercontent.com/olajide-zettabrain/zettabrain-rag/main/install.sh | sudo bash

What it does:

  • Detects your OS (Ubuntu, Debian, Amazon Linux, RHEL)
  • Installs Python, NFS client, and system dependencies
  • Creates an isolated Python environment at /opt/zettabrain/venv
  • Installs zettabrain-rag from PyPI
  • Registers all CLI commands in /usr/local/bin
  • Installs and starts Ollama
  • Pulls the nomic-embed-text embedding model

First-time setup (both options)

1. Pull the LLM model

ollama pull llama3.1:8b

2. Mount your NFS document store

sudo zettabrain-setup

Prompts for your NFS server IP and export path, mounts at /mnt/Rag-data, and builds the vector store automatically.

3. Start chatting

zettabrain-chat

Commands

Command Description
sudo zettabrain-setup NFS mount wizard + auto vector store build
zettabrain-chat Start interactive RAG chat
zettabrain-chat --rebuild Rebuild vector store then start chat
zettabrain-chat --debug Show retrieved chunks on every query
zettabrain-chat --model mistral:7b Use a different LLM
zettabrain-ingest Ingest documents without starting chat
zettabrain-ingest --folder /path Ingest a specific folder
zettabrain-ingest --file /path/doc.pdf Ingest a single file
zettabrain-ingest --rebuild Force full re-embed of all documents
zettabrain-ingest --stats Show what is in the vector store
zettabrain-ingest --clear Wipe the vector store
zettabrain-status Show install paths and store statistics

Chat commands

While inside zettabrain-chat:

Type Action
Any question Query your documents
sources Show which document chunks were used
debug on Show retrieved chunks on every query
debug off Hide debug output
quit Exit

Configuration

All settings can be overridden via environment variables:

export ZETTABRAIN_DOCS=/mnt/Rag-data
export ZETTABRAIN_CHROMA=./zettabrain_vectorstore
export ZETTABRAIN_LLM_MODEL=llama3.1:8b
export ZETTABRAIN_EMBED_MODEL=nomic-embed-text
export ZETTABRAIN_CHUNK_SIZE=1500
export ZETTABRAIN_CHUNK_OVERLAP=200
export OLLAMA_HOST=http://localhost:11434

Supported document formats

.pdf .txt .md .docx


Hardware requirements

RAM Recommended model Performance
8GB llama3.2:3b Basic
16GB llama3.1:8b Recommended
32GB mistral-nemo:12b Better reasoning
Apple M3/M4 (16GB+) llama3.1:70b-q4 Excellent

Diagnostics

# Verify ChromaDB is working
python3 /opt/zettabrain/src/01_chromadb_setup.py

# Verify embedding model is working
python3 /opt/zettabrain/src/02_embeddings_test.py

# Check Ollama is running
curl http://localhost:11434

# Check downloaded models
ollama list

Uninstall

pipx

pipx uninstall zettabrain-rag

One-line installer

rm -rf /opt/zettabrain
rm -f /usr/local/bin/zettabrain*

License

MIT — © ZettaBrain

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zettabrain_rag-0.1.2.tar.gz (11.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

zettabrain_rag-0.1.2-py3-none-any.whl (10.0 kB view details)

Uploaded Python 3

File details

Details for the file zettabrain_rag-0.1.2.tar.gz.

File metadata

  • Download URL: zettabrain_rag-0.1.2.tar.gz
  • Upload date:
  • Size: 11.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for zettabrain_rag-0.1.2.tar.gz
Algorithm Hash digest
SHA256 93cc68fe50917120a68690bba2438d7142719aaf053e92ecc8ffb38205d21929
MD5 963a4c8039027f43615a19fb5e0c1ae0
BLAKE2b-256 ebdd0e100a4201e30b524fb19450ac3861226b7867e32ed34da590e052624c36

See more details on using hashes here.

File details

Details for the file zettabrain_rag-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: zettabrain_rag-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 10.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for zettabrain_rag-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8aed4346aaf0ed4c3d0feaaaf5fa42a25a7b6d6da73eec6be3fd9662ec3d5c49
MD5 e11a74329052ea6baa7eccfb2b70e4b7
BLAKE2b-256 11d1b2531827edd69dca96b0741e2f33cbce41c57addf4749cfc3d1086186217

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page