chroma

Store embeddings and query documents with vector similarity and metadata filtering in Chroma.

14|5|Updated Apr 9, 2026
One-click install
npx skills add https://github.com/MLT-OSS/hermes-agent-go --skill chroma-mlt-oss
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: chroma
Source: https://github.com/MLT-OSS/hermes-agent-go/tree/main/optional-skills/mlops/chroma
Command: npx skills add https://github.com/MLT-OSS/hermes-agent-go --skill chroma-mlt-oss

SYSTEM DOCUMENTATION & REQUIREMENTS

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

What problem does it solve? Building RAG and semantic search 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 - Embedding Storage & Search: Store documents with embeddings and metadata, then run similarity queries with filters using a simple 4-function API. - Flexible Embedding Functions: Use default Sentence Transformers, OpenAI, HuggingFace, or custom embedding functions per collection. - Framework Integration: Connect with LangChain and LlamaIndex for retrieval pipelines, with persistent local storage or client-server mode. - Use Case: Build a document Q&A system by chunking files, adding them to a persistent Chroma collection with source metadata, and querying with filters like category or date to retrieve the most relevant passages. ## Quick Start Use the chroma skill to create a persistent collection, add my documents with metadata, and run a filtered similarity search.

Frequently Asked Questions about chroma

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

FAQPage Schema
How do I store and search 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 run similarity search, optionally adding a where clause for metadata filters.

Chroma vs Pinecone vs FAISS for vector search?

Chroma is open-source and runs locally, suiting development and self-hosted projects. Pinecone is a managed cloud service with auto-scaling, while FAISS provides pure similarity search without metadata storage or filtering.

Does Chroma support persistent storage across restarts?

Yes, use chromadb.PersistentClient with a path argument to persist data to disk. Data is saved automatically and can be reloaded later by connecting with the same path.

Can I use Chroma with LangChain or LlamaIndex?

Yes, Chroma integrates with both frameworks. Use langchain_chroma.Chroma as a vector store or retriever in LangChain, or ChromaVectorStore with a StorageContext in LlamaIndex for index-based querying.

How do I filter Chroma query results by metadata?

Pass a where clause to collection.query or collection.get with operators like $gt, $gte, $lt, $lte, $ne, $in, and logical combinators $and and $or. For example, where={"category": "tutorial"} restricts results to matching documents.

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 high-performance production workloads, where Qdrant or Weaviate are more suitable.