Install & config guide: a vector store (Chroma)
Needed from M7 onward. A vector store is a database that finds text by meaning, not just by keyword, the engine behind RAG (giving an AI your own documents). We use Chroma: it's a single
pip install, and it turns your text into searchable "embeddings" for you, with a small model it downloads once, no extra API key.
Official docs (verify they open): Chroma, https://docs.trychroma.com. (FAISS is a popular alternative but lower-level, you manage embeddings yourself. Chroma is friendlier to start with.)
Read this first: Python version
Chroma ships ready-to-install builds for Python 3.10, 3.11, and 3.12. The very newest Python releases (e.g. 3.13/3.14) often don't have builds yet for Chroma's dependencies, and the install fails trying to compile them. If you hit a build error, the fix is almost always to use Python 3.12. Check yours with
python --version(orpython3 --version). This is a real-world lesson: bleeding-edge Python breaks many AI libraries, pros stay one or two versions back.
Step 1: Activate your virtual environment
From your project folder (see python-venv.md):
source .venv/bin/activate # Windows: .\.venv\Scripts\Activate.ps1
(.venv) at the start of your prompt.
Step 2: Install Chroma
pip install chromadb
You should now see: lines ending in Successfully installed chromadb-… …. If instead you see
a build error mentioning pandas, numpy, or "failed to build wheel", your Python is too new, see Troubleshooting.
Step 3: Check it worked
python -c "import chromadb; print('Chroma', chromadb.__version__)"
Chroma 1.x.x (some version number). If it prints a version, you're ready.
Step 4: Know the first-run download
The first time you add documents, Chroma downloads its small embedding model (a one-time ~80 MB). You need internet for that first run; after that it's cached and works offline.
You should now see (on first run of the app): a short one-time download message, then normal output. Later runs skip it.
Troubleshooting
| Symptom | Fix |
|---|---|
Install fails building pandas/numpy, or "failed to build wheel" |
Your Python is too new. Install Python 3.12 (python.org), make a fresh venv with it (python3.12 -m venv .venv), activate, and pip install chromadb again. |
ModuleNotFoundError: chromadb |
The venv isn't active (no (.venv) in the prompt) or the install didn't finish. Re-activate and re-run Step 2. |
| First run hangs / "downloading" then errors | The one-time model download needs internet. Check your connection and run once more; it caches afterward. |
| Install is very slow | Normal, Chroma has several dependencies. Let it finish; it's a one-time cost. |
No key needed here. Chroma embeds your text locally with the model it downloaded, so the vector store costs nothing and works offline after the first run. Your Claude API key (M4) is still what pays for the answer step in RAG.