explaingit

chroma-core/chroma

Analysis updated 2026-06-20

27,836RustAudience · developerComplexity · 2/5Setup · easy

TLDR

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.

Mindmap

mindmap
  root((chroma))
    What it does
      Stores embeddings
      Similarity search
      Hybrid search
    Tech stack
      Python client
      JavaScript client
      Rust engine
    Deployment
      In-memory
      Persistent local
      Client-server
      Chroma Cloud
    Use cases
      Document Q&A
      Semantic search
      Recommendations
      RAG chatbots
    Audience
      AI developers
      App builders
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Build a document Q&A chatbot that retrieves the most relevant passages from your files by meaning, not just keywords.

USE CASE 2

Add semantic search to your app so users find results even when they use different words than the stored content.

USE CASE 3

Create a recommendation system that finds similar items based on conceptual meaning rather than exact matches.

USE CASE 4

Prototype an AI feature locally in-memory, then switch to persistent or cloud storage with minimal code changes.

What is it built with?

PythonRustJavaScriptnpm

How does it compare?

chroma-core/chromaankitects/ankijdx/mise
Stars27,83627,80827,767
LanguageRustRustRust
Setup difficultyeasymoderateeasy
Complexity2/53/52/5
Audiencedevelopervibe coderdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Runs fully in-memory with pip install chromadb, the cloud version requires a Chroma Cloud API key.

In plain English

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.

Copy-paste prompts

Prompt 1
Using Chroma as my vector database, write a Python script that loads text from a folder of PDF files, stores them as embeddings in a Chroma collection, and returns the top 3 most relevant passages for a user question.
Prompt 2
I have a Chroma collection with product descriptions. Write a FastAPI endpoint that accepts a search query and returns the top 5 semantically similar products with their metadata.
Prompt 3
Show me how to connect to Chroma Cloud, create a collection, add 100 documents with metadata tags, and run a hybrid search that combines keyword and semantic results.
Prompt 4
I'm building a RAG chatbot. Write the Chroma retrieval step that fetches the top 3 relevant document chunks for a user question and formats them as context for an LLM call.
Prompt 5
Migrate my in-memory Chroma setup to a persistent local client so data survives Python restarts, and show me how to check how many documents are in a collection.

Frequently asked questions

What is chroma?

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.

What language is chroma written in?

Mainly Rust. The stack also includes Python, Rust, JavaScript.

How hard is chroma to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is chroma for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub chroma-core on gitmyhub

Verify against the repo before relying on details.