chroma
Search infrastructure for AI
Chroma is an open-source vector database for AI applications that stores and searches text by meaning, letting your app find conceptually similar documents even when users phrase things differently.
Chroma is an open-source database designed specifically for AI applications. Its main job is storing and searching through "embeddings" — numerical representations of text (or other data) that capture meaning rather than exact words. This allows AI apps to find documents that are conceptually similar to a question, even if they use different wording. This type of database is called a vector database, and it is a core building block for AI features like chatbots that can reference your own documents.
The API is deliberately simple. You create a collection, add documents to it, and then query it with a question — Chroma automatically handles the process of converting text into embeddings and finding the most similar results. The code examples show the full workflow: creating a client, adding documents with optional metadata for filtering, and querying for the closest matches.
Chroma supports running in-memory for quick prototyping, with persistence added easily when you need to save data. It can also run as a client-server setup. A hosted cloud version called Chroma Cloud is available for serverless use, offering vector search, hybrid search (combining meaning-based and keyword-based), and full-text search.
The core library is available as a Python package and a JavaScript/npm package. The underlying engine is written in Rust. Chroma is a good fit for developers building AI features — such as chatbots, document Q&A tools, or recommendation systems — that need to search through large collections of text by meaning rather than exact keywords.
Where it fits
- Build a document Q&A chatbot that retrieves the most relevant passages from your files by meaning, not just keywords.
- Add semantic search to your app so users find results even when they use different words than the stored content.
- Create a recommendation system that finds similar items based on conceptual meaning rather than exact matches.
- Prototype an AI feature locally in-memory, then switch to persistent or cloud storage with minimal code changes.