honcho/tests/vector_store
Vineeth Voruganti fb2a94f912 feat: add ChromaDB vector store backend
Adds chromadb as a VECTOR_STORE_TYPE with three client modes selected by
VECTOR_STORE_CHROMA_CLIENT_MODE: persistent (local embedded), http
(self-hosted server), and cloud (Chroma Cloud).

- Single sync-client code path offloaded via asyncio.to_thread (Chroma's
  persistent and cloud clients have no async variants)
- Namespaces map to collections as ns-{sha256hex}; original namespace kept
  in collection metadata
- Cosine space, precomputed embeddings only, lazy collection creation
- Write batches split at min(get_max_batch_size(), 300) for the Chroma
  Cloud per-request cap; None-valued metadata stripped for portability
- Transport failures raise VectorStoreError on writes (reconciler retries)
  and return empty results on queries, matching the Turbopuffer backend
- Ships as an optional extra (uv sync --extra chromadb) plus dev group;
  factory raises an actionable error when the SDK is missing

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 13:04:48 -04:00
..
__init__.py Make embeddings configurable (#678) 2026-05-14 15:03:35 -04:00
test_chroma.py feat: add ChromaDB vector store backend 2026-07-02 13:04:48 -04:00
test_lancedb.py feat: stop fetching embedding vectors on vector store query - DEV-1727 (#682) 2026-05-14 13:14:15 -04:00
test_namespace_dim_probes.py feat: add ChromaDB vector store backend 2026-07-02 13:04:48 -04:00
test_turbopuffer.py feat: stop fetching embedding vectors on vector store query - DEV-1727 (#682) 2026-05-14 13:14:15 -04:00