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/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-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.3.tar.gz (16.7 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.3-py3-none-any.whl (17.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: zettabrain_rag-0.1.3.tar.gz
  • Upload date:
  • Size: 16.7 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.3.tar.gz
Algorithm Hash digest
SHA256 8f183f505dbf30af3f531a3895e997356948a17754eff0b9b74a1bd86663d8bf
MD5 ee205254e1d067189bf444d4c215bcd6
BLAKE2b-256 1a6f424ea72d36ae384dddbdeb4ebb09ed9971f09b0f766eefac304453a4e966

See more details on using hashes here.

File details

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

File metadata

  • Download URL: zettabrain_rag-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 17.6 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 3ac2de19adb301c1dfb48a8a7c72d51ff3d53f70f9a35f259bcc7987039af831
MD5 b225e937d14dc8ee655c6dec6b0ad7e7
BLAKE2b-256 7a004b8fbc11b7fde4d38c38e289170d8c5786bdd191d5cb9972d01d2baf433e

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