chroma

Store embeddings and metadata in Chroma for vector search and RAG retrieval.

13.0k|930|Updated Nov 3, 2025
One-click install
npx skills add https://github.com/Orchestra-Research/AI-research-SKILLs --skill chroma-orchestra-research
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: chroma
Source: https://github.com/Orchestra-Research/AI-research-SKILLs/tree/main/15-rag/chroma
Command: npx skills add https://github.com/Orchestra-Research/AI-research-SKILLs --skill chroma-orchestra-research

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires chromadb, sentence-transformers, and includes references (resource) components.

What problem does it solve? Building semantic search or RAG applications requires a vector database to store embeddings and retrieve relevant documents, and setting one up from scratch involves complex infrastructure decisions. ## Core Features & Use Cases - Vector and Metadata Storage: Add documents with embeddings, metadata, and IDs using a simple 4-function API (create, add, query, get). - Filtered Similarity Search: Query by text with metadata filters using comparison and logical operators like $and, $gt, and $in. - Framework Integration: Connect with LangChain and LlamaIndex, or run in server mode for multi-user production deployments. - Use Case: Build a document Q&A system by chunking PDFs, storing them in a persistent Chroma collection with source metadata, and retrieving the top-k relevant chunks to ground an LLM's answers. ## Quick Start Install chromadb with pip and ask the AI to create a persistent Chroma collection, add your documents with metadata, and run a filtered similarity query.

Frequently Asked Questions about chroma

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I store and query embeddings with Chroma in Python?▼

Install chromadb, create a client and collection, then call collection.add with documents, metadatas, and ids. Use collection.query with query_texts and n_results to retrieve the most similar documents along with their distances and metadata.

Chroma vs Pinecone vs FAISS for vector search?▼

Chroma is open-source and self-hosted with metadata filtering, suited for local development and RAG prototypes. Pinecone is a managed cloud service with auto-scaling, while FAISS provides pure similarity search without metadata storage.

Does Chroma support persistent storage across restarts?▼

Yes, use chromadb.PersistentClient with a path argument to persist data to disk automatically. Reload the same path later and call get_collection to access your stored documents and embeddings.

Can I use Chroma with LangChain or LlamaIndex?▼

Yes, Chroma integrates with both frameworks. Use langchain_chroma.Chroma to create a vector store from documents, or ChromaVectorStore in LlamaIndex backed by a Chroma collection for indexing and querying.

How do I filter Chroma query results by metadata?▼

Pass a where clause to collection.query with exact matches, comparison operators like $gt and $lte, or logical operators $and and $or. This narrows the search space before similarity ranking is applied.

When should I not use Chroma for a vector database?▼

Avoid Chroma when you need managed auto-scaling cloud infrastructure, where Pinecone fits better, or when you need maximum query performance at very large scale, where Rust-based Qdrant may be preferable.