Skip to content

Add ChromaDB support as vector store #8

@ahmed-sekka

Description

@ahmed-sekka

Description

Currently only Qdrant is supported for vector storage. Add ChromaDB as an alternative, which is very popular in the RAG community.

Why ChromaDB?

  • No Docker required (embedded mode)
  • Popular choice for local development
  • Simple API
  • Good for prototyping

Tasks

  • Add chromadb to optional dependencies in pyproject.toml
  • Create src/core/vector/chroma.py module
  • Implement ChromaVectorStore class with same interface as Qdrant
  • Add --vector-db chroma option to ingest command
  • Support persistent and in-memory modes
  • Add integration tests
  • Update documentation

Example usage

# Ingest into ChromaDB (local)
ragctl ingest chunks.jsonl --vector-db chroma --collection my-docs

# With persistence
ragctl ingest chunks.jsonl --vector-db chroma --path ./chroma_data

Files to create/modify

  • src/core/vector/chroma.py (new)
  • src/core/vector/__init__.py
  • src/core/cli/commands/ingest.py
  • pyproject.toml

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesthelp wantedExtra attention is needed

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions