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/YOUR_USERNAME/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-ragfrom PyPI - Registers all CLI commands in
/usr/local/bin - Installs and starts Ollama
- Pulls the
nomic-embed-textembedding 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file zettabrain_rag-0.1.6.tar.gz.
File metadata
- Download URL: zettabrain_rag-0.1.6.tar.gz
- Upload date:
- Size: 16.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
348cbb51ecff37700aebad7840fccd51a8deda8a8f0863aeb6320451a40747ba
|
|
| MD5 |
c9c15bbe1d2642387ed0aa838b238d98
|
|
| BLAKE2b-256 |
8867394ae24fea41c28d808781b1980772af216c131e777f7d4284905d73a54e
|
File details
Details for the file zettabrain_rag-0.1.6-py3-none-any.whl.
File metadata
- Download URL: zettabrain_rag-0.1.6-py3-none-any.whl
- Upload date:
- Size: 17.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4155f3aed9969d14221c10e035e9e921ed88420734da0361b61238a5b2bf729b
|
|
| MD5 |
29c2045664e7cc54da787b89f0e0785b
|
|
| BLAKE2b-256 |
480cea1d011250ab6643053739596a7dd91285e131c7d975e11b96750993731c
|