Open Source Other Vector DatabaseEmbeddingsRAGPythonIn-Memory

Chroma

Open-source vector database for storing and querying embeddings. Runs in-memory, on-disk, or as a server. Native LangChain and LlamaIndex integrations.

chroma-core/chroma 18.0k stars 1.5k forks Apache-2.0

Install

$pip install chromadb

About

Chroma is designed to be the simplest way to add vector search to an LLM application. The default mode runs entirely in-memory with no setup, and switching to persistent or client-server mode requires only changing one parameter.

It handles embedding generation automatically — you provide text strings, Chroma calls the embedding function (OpenAI by default) and stores the vectors. At query time you pass a query string and get back the nearest documents.

Getting Started

pip install chromadb

import chromadb

client = chromadb.Client()  # in-memory
# client = chromadb.PersistentClient(path="./chroma_db")  # on-disk

collection = client.create_collection("docs")
collection.add(documents=["LangChain is an LLM framework", "Ollama runs models locally"], ids=["1", "2"])
results = collection.query(query_texts=["What runs LLMs locally?"], n_results=1)
print(results)

Features

In-memory, persistent on-disk, and client-server modes
Automatic embedding generation via OpenAI, Cohere, HuggingFace, or custom functions
Metadata filtering with AND/OR/NOT operators
Collections — namespace your embeddings
Python and JavaScript/TypeScript clients
Docker image for the server mode
Native LangChain and LlamaIndex integrations
Chroma Cloud — managed hosted vector database

References & Links

Free Open Source · MIT
View on GitHub Visit Homepage

Project Info

Language Python
License Apache-2.0
Stars 18.0k ★
Forks 1.5k
Category Other

Topics

Vector DatabaseEmbeddingsRAGPythonIn-Memory

Ready to try Chroma?

Free and open source. Install in one command, works with Claude Code, Cursor, Windsurf, and more.

$pip install chromadb
← Back to Marketplace