explaingit

chroma-core/chroma

📈 Trending27,991RustAudience · developerComplexity · 2/5ActiveLicenseSetup · moderate

TLDR

Open-source vector database for AI apps that stores and searches text by meaning, enabling chatbots and document Q&A to find conceptually similar results.

Mindmap

mindmap
  root((Chroma))
    What it does
      Stores embeddings
      Searches by meaning
      Finds similar documents
    How to use
      Create collection
      Add documents
      Query results
    Deployment modes
      In-memory prototype
      Client-server
      Chroma Cloud
    Search types
      Vector search
      Hybrid search
      Full-text search
    Use cases
      Chatbots
      Document Q&A
      Recommendations
    Tech stack
      Python API
      JavaScript API
      Rust engine

Things people build with this

USE CASE 1

Build a chatbot that answers questions by searching your own documents for relevant context.

USE CASE 2

Create a document Q&A tool that finds answers by meaning rather than keyword matching.

USE CASE 3

Build a recommendation system that suggests similar items based on semantic similarity.

USE CASE 4

Prototype AI features quickly with in-memory storage, then scale to persistent cloud deployment.

Tech stack

PythonJavaScriptRustVector database

Getting it running

Difficulty · moderate Time to first run · 30min

Requires installing vector database dependencies and initializing the database before running examples.

Open-source license allowing free use and modification for any purpose, including commercial applications.

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
Show me how to set up Chroma, add a collection of documents, and query it to find semantically similar results using the Python API.
Prompt 2
How do I use Chroma's hybrid search to combine meaning-based and keyword-based search in a single query?
Prompt 3
Walk me through building a simple document Q&A chatbot using Chroma that can search through my own text files.
Prompt 4
What's the difference between running Chroma in-memory for prototyping versus using Chroma Cloud for production?
Prompt 5
How do I add metadata to documents in Chroma and use it to filter search results?
Open on GitHub → Explain another repo

Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.