gitmyhub

chroma

Rust ★ 29k updated 2d ago

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.

PythonRustJavaScriptnpmsetup: easycomplexity 2/5

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