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.5.tar.gz (16.1 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.5-py3-none-any.whl (16.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: zettabrain_rag-0.1.5.tar.gz
  • Upload date:
  • Size: 16.1 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.5.tar.gz
Algorithm Hash digest
SHA256 2148cf36be2508b4e197bd8f584cffa548a8eccaad1009e0313cd8745d6e410d
MD5 ee7e03f6e04b09402330b43f6a5dcb55
BLAKE2b-256 f275a5b0ea4e8c0ab31dfe057a6c55218a30ab9e934d9ebcb21943837fceb894

See more details on using hashes here.

File details

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

File metadata

  • Download URL: zettabrain_rag-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 16.9 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 4e38031de73a5aea869249684df7e6fb413f89f6b35e447cc696d0f3ec4a15ff
MD5 d04c3bcf79f9d5ad8a2ef1f4ca692168
BLAKE2b-256 6808986df7f3246b6a80b5b2ce1a53b486bb4dce4f7703582296cab8779c3d28

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