Pular para o conteúdo principal
PromptQuorumFeito para humanos. Estruturado para IA.
Início/LLMs locais avançados
RAG & Document Chat

Chroma Review: Banco de Dados Vetorial Open-Source para IA e RAG

·10 min de leituraPor Hans Kuepper · Fundador do PromptQuorum · Mecanismo de descoberta de IA de pesos abertos e código aberto

Chroma é um banco de dados de embeddings gratuito e open-source (Apache-2.0) — um banco de dados vetorial criado especificamente para aplicações de IA como retrieval-augmented generation e busca semântica. É instalado com pip install chromadb (Python) ou npm install chromadb (JavaScript), roda inteiramente na sua própria infraestrutura em modo efêmero, local persistente ou cliente-servidor, e por padrão cuida da tokenização, do embedding e da indexação dos documentos para você. O Chroma Cloud é uma oferta gerenciada separada e opcional para equipes que não querem fazer autohospedagem.

Principais conclusões

  • Chroma (trychroma.com) é um banco de dados de embeddings gratuito e open-source criado especificamente para aplicações de IA, não um banco de dados genérico adaptado para vetores
  • Licenciado sob Apache-2.0, confirmado pelo repositório no GitHub
  • Mais de 29.300 estrelas no GitHub no momento desta review (verificado em 18/09/2026)
  • Localidade: totalmente autohospedável — o banco de dados open-source roda inteiramente na sua própria infraestrutura; o Chroma Cloud é uma oferta gerenciada separada e opcional
  • A API principal tem quatro funções: create_collection, add, query e delete
  • Três modos de implantação: em memória/efêmero (prototipagem), armazenamento local persistente e arquitetura cliente-servidor
  • Comumente usado como backend de vector store dentro de pipelines RAG do LangChain e do LlamaIndex, combinado com modelos de embedding locais via Ollama ou APIs de embedding na nuvem

📍 Em uma frase

Chroma é um banco de dados vetorial/de embeddings gratuito e open-source (Apache-2.0) — o projeto chroma-core/chroma (não a ferramenta de design homônima e sem relação com ele), criado especificamente para aplicações de IA como RAG e busca semântica, que pode ser autohospedado em memória, em disco local ou como implantação cliente-servidor.

💬 Em termos simples

Em vez de você construir sua própria camada de armazenamento para os "embeddings" numéricos que representam seus documentos, o Chroma os armazena para você e permite buscar por significado em vez de por palavras-chave exatas. Ele cuida da tokenização e do embedding automaticamente quando você fornece texto bruto, roda na sua própria máquina ou servidor via pip install chromadb, e é gratuito.

Chroma (trychroma.com, código-fonte em github.com/chroma-core/chroma) é um banco de dados de embeddings gratuito e open-source (Apache-2.0) — um banco de dados vetorial criado especificamente para aplicações de IA como retrieval-augmented generation (RAG) e busca semântica. Esta review cobre especificamente o projeto chroma-core/chroma, não a ferramenta de design/cores homônima e sem relação com ele. O Chroma tem mais de 29.300 estrelas no GitHub, pode ser executado inteiramente na sua própria infraestrutura e costuma ser combinado com frameworks como LangChain e LlamaIndex. Esta review mostra o que o Chroma realmente faz, como instalar e usar, como ele se compara ao Qdrant e para quem ele é indicado.

O Que É o Chroma?

Chroma é um banco de dados de embeddings open-source que armazena, indexa e busca as representações vetoriais dos seus textos, imagens ou outros dados, para que aplicações de IA possam recuperar informações por similaridade semântica em vez de correspondência exata de palavras-chave. A própria descrição no GitHub e o slogan do site o posicionam como "infraestrutura de busca open-source para IA" e "a infraestrutura de dados open-source para IA", construída em torno de uma API principal deliberadamente enxuta.

  • Tipo de produto: um banco de dados vetorial/de embeddings autohospedado, distribuído como biblioteca Python e JavaScript além de um binário de servidor opcional — não um aplicativo gráfico autônomo para download
  • Repositório: github.com/chroma-core/chroma
  • Licença: Apache-2.0, confirmada pelo classificador de licença no PyPI
  • Localidade: totalmente autohospedável — o banco de dados open-source do Chroma roda inteiramente na sua própria infraestrutura em todos os modos de implantação; o Chroma Cloud é uma oferta gerenciada/serverless separada e opcional para equipes que não querem operá-lo por conta própria
  • Escala: mais de 29.300 estrelas no GitHub, e o próprio site do Chroma cita mais de 15 milhões de downloads mensais do pacote chromadb e uso em mais de 90.000 bases de código open-source — números que refletem o amplo alcance de downloads do pacote, não necessariamente uma contagem de implantações de produção únicas
  • Clientes nomeados no próprio site do Chroma incluem Capital One, Mintlify, UnitedHealthcare, Conduit, Propel, Cofounder, Weights & Biases e Medwise

Histórico do Projeto Chroma

O Chroma é desenvolvido como um projeto open-source sob a organização chroma-core no GitHub, com o Chroma Cloud introduzido posteriormente como uma oferta gerenciada separada, construída sobre o mesmo banco de dados. Esta review verificou o número atual de estrelas no GitHub, a licença e os detalhes do pacote diretamente no repositório e nos registros de pacotes do próprio Chroma, mas não conseguiu verificar um nome específico de fundador ou empresa a partir de uma fonte primária e datada durante a pesquisa — por isso esta review não afirma nenhum. Se você precisar desse detalhe, consulte diretamente o site do Chroma e a cobertura de imprensa, em vez de confiar em uma fonte secundária.

  • A API principal do Chroma foi construída em torno de uma superfície deliberadamente pequena: create_collection, add, query e delete, com o objetivo de tornar rápido colocar um pipeline de retrieval funcional em pé
  • O projeto cresceu para mais de 29.300 estrelas no GitHub e, segundo o próprio site do Chroma, mais de 15 milhões de downloads mensais do pacote chromadb no momento desta review
  • O Chroma Cloud, uma oferta gerenciada/serverless separada, foi introduzido como um caminho opcional para equipes que querem o mesmo banco de dados sem autohospedá-lo — o site do Chroma menciona recursos como conformidade SOC 2 Type II, camadas automáticas de dados (data tiering) e Bring Your Own Cloud (BYOC) para empresas nesse plano gerenciado
  • A versão mais recente do chromadb no PyPI no momento desta review é a 1.5.9, publicada em 05/05/2026

O Que Você Pode Fazer Com o Chroma?

O conjunto de recursos do Chroma gira em torno de armazenar e consultar embeddings para aplicações de IA, segundo o próprio README no GitHub e a documentação do Chroma.

  • API principal simples — quatro funções cobrem o fluxo de trabalho essencial: create_collection para definir uma coleção, add para inserir documentos, query para buscar por similaridade e delete para remover entradas
  • Tratamento automático de embeddings — se você fornecer ao Chroma texto bruto sem trazer seus próprios embeddings, ele tokeniza, gera embeddings e indexa os documentos para você usando uma função de embedding padrão
  • Filtragem por metadados — você pode anexar metadados aos documentos ao adicioná-los e filtrar os resultados das consultas por esses metadados, além da similaridade semântica
  • Três modos de implantação — em memória/efêmero para prototipagem rápida, armazenamento local persistente para que os dados sobrevivam a reinicializações, e uma arquitetura cliente-servidor para acesso compartilhado e multiprocesso
  • SDKs de linguagem — clientes oficiais em Python (chromadb no PyPI) e JavaScript/TypeScript (chromadb no npm)
  • Integrações com frameworks — o Chroma é comumente usado como backend de vector store dentro de pipelines RAG do LangChain e do LlamaIndex, combinado com modelos de embedding locais (por exemplo via Ollama) ou uma API de embedding na nuvem
  • Chroma Cloud (oferta separada) — um plano gerenciado e serverless que o próprio site do Chroma descreve como suporte a busca vetorial, de texto completo, por regex e por metadados, além de busca vetorial esparsa (BM25, SPLADE), camadas automáticas de dados, conformidade SOC 2 Type II e Bring Your Own Cloud (BYOC) para empresas; verifique a disponibilidade atual dos recursos diretamente em trychroma.com, já que esses são recursos do plano gerenciado e nem todos estão necessariamente presentes no banco de dados open-source autohospedado

Exemplos de Uso: Três Formas de Usar o Chroma

Estes são fluxos de trabalho concretos construídos a partir da API documentada do Chroma, executados após pip install chromadb.

  • Criar um cliente em memória e adicionar e consultar documentos: chromadb.Client() cria um cliente efêmero, create_collection() define uma coleção nomeada, add() insere documentos com metadados e IDs opcionais, e query() busca por similaridade semântica — o Chroma tokeniza e gera embeddings do texto automaticamente caso você não passe seus próprios embeddings
  • Usar um cliente local persistente para que os dados sobrevivam a reinicializações: a API documentada do Chroma inclui um modo de cliente persistente (geralmente chromadb.PersistentClient(path=...) nas versões atuais) que grava dados em disco local em vez de mantê-los apenas em memória — verifique o construtor exato e os argumentos atuais em docs.trychroma.com antes de colocar em produção código que dependa disso, já que as APIs de cliente podem mudar entre versões
  • Combinar o Chroma com o LangChain como vector store em um pipeline RAG: o fluxo de trabalho típico é carregar e dividir seus documentos, gerar embeddings deles com um modelo de embedding compatível com o LangChain (local via Ollama ou um provedor na nuvem), armazenar os vetores em uma coleção do Chroma por meio da integração de vector store do LangChain com o Chroma, e então consultar esse armazenamento como a etapa de retrieval em uma cadeia de recuperação — confira a documentação atual do LangChain para o pacote de integração e o caminho de importação exatos, já que a integração do LangChain com o Chroma mudou de pacote ao longo do tempo

Criar um cliente em memória e adicionar e consultar documentos

O próprio README do Chroma mostra o ciclo mais simples possível usando um cliente efêmero em memória — útil para prototipagem, já que os dados se perdem quando o processo é encerrado:

python
import chromadb

client = chromadb.Client()
collection = client.create_collection(name="my_collection")

collection.add(
    documents=["This is document1"],
    metadatas=[{"source": "notion"}],
    ids=["doc1"],
)

results = collection.query(
    query_texts=["This is a query document"],
    n_results=2,
)

Preços do Chroma: O Chroma É Realmente Gratuito?

O banco de dados open-source Chroma é gratuito e licenciado sob Apache-2.0 — não há plano pago que restrinja nenhum recurso do banco de dados autohospedado em si. O Chroma Cloud é uma oferta gerenciada separada e opcional para equipes que querem uma versão serverless e hospedada sem operar o banco de dados por conta própria; no momento desta review, o trychroma.com menciona um início gratuito no Chroma Cloud com um crédito inicial gratuito — consulte trychroma.com diretamente para os termos atuais, em vez de presumir um valor específico, já que ofertas do plano gerenciado mudam com mais frequência do que os termos de licença open-source.

  • Banco de dados open-source: gratuito, Apache-2.0, sem limites de uso impostos pelo próprio Chroma
  • Seus próprios custos se limitam à sua infraestrutura (computação e armazenamento) e ao provedor de embedding que você usar, caso opte por uma API de embedding paga na nuvem em vez de um modelo local
  • Chroma Cloud: uma oferta gerenciada/serverless separada e opcional; no momento desta review o site menciona um crédito gratuito inicial para novas contas — verifique preços e condições de crédito atuais diretamente em trychroma.com antes de planejar seu orçamento em torno de um valor específico
  • Não é necessária conta nem cadastro para instalar e usar o banco de dados open-source

Chroma vs. Qdrant

Chroma e Qdrant são bancos de dados vetoriais open-source e autohospedáveis que os desenvolvedores costumam comparar entre si para backends de RAG e busca semântica, mas diferem na linguagem de implementação, nas opções de implantação e no alcance de seus recursos de filtragem. O Chroma é escrito principalmente em Python, com uma API principal deliberadamente enxuta, e costuma ser escolhido pela rapidez com que coloca um protótipo em funcionamento. O Qdrant é escrito em Rust, construído em torno de recursos de filtragem mais extensos (correspondência por palavra-chave, busca de texto completo, intervalos numéricos e condições de geolocalização combinadas com operadores lógicos sobre payloads JSON), e adiciona um modo leve "Qdrant Edge" para rodar dentro de aplicações em dispositivos de borda, além de sua própria oferta gerenciada Qdrant Cloud.

Escrito em

Chroma:
Python (com núcleo baseado em Rust nas versões mais recentes)
Qdrant:
Rust

Filosofia da API principal

Chroma:
Deliberadamente enxuta: create_collection, add, query, delete
Qdrant:
API mais ampla, com filtragem extensa de payload (texto completo, intervalo numérico, geo)

Modos de implantação

Chroma:
Em memória/efêmero, armazenamento local persistente, cliente-servidor
Qdrant:
Cliente-servidor via Docker, modo embutido leve "Edge", Qdrant Cloud gerenciado

Estrelas no GitHub (verificadas para esta review)

Chroma:
Mais de 29.300 (verificado em 18/09/2026)
Qdrant:
Mais de 34.700 (verificado em 18/09/2026)

Licença

Chroma:
Apache-2.0
Qdrant:
Apache-2.0

Melhor uso

Chroma:
Prototipagem rápida e pipelines RAG Python-first com superfície de API mínima
Qdrant:
Workloads que precisam de filtragem de metadados rica e estruturada junto com a busca vetorial, ou um footprint implantável em edge

Ambos os projetos lançam atualizações com frequência e ambos oferecem um plano de nuvem gerenciado separado além do banco de dados open-source — verifique a paridade de recursos e os preços atuais no site de cada projeto antes de escolher, em vez de confiar em uma comparação pontual.

Comparar no diretório

Quem Deveria Usar o Chroma?

Se o Chroma é adequado para você depende de você precisar de um banco de dados vetorial dedicado e autohospedável com uma API mínima, em vez de uma camada mais ampla de memória/grafo de conhecimento ou de um banco de dados voltado para filtragem intensa.

Use o Chroma se

  • Você está construindo um pipeline RAG ou um recurso de busca semântica e quer um banco de dados vetorial dedicado, com uma API pequena e fácil de aprender
  • Você quer prototipar rapidamente em memória e depois migrar para armazenamento local persistente ou uma implantação cliente-servidor sem trocar de banco de dados
  • Você quer que o banco de dados rode inteiramente na sua própria infraestrutura, com a opção de migrar para o Chroma Cloud mais tarde caso decida que quer uma oferta gerenciada
  • Você já usa LangChain ou LlamaIndex e quer um backend de vector store com suporte de integração de primeira classe
  • Você se sente confortável trabalhando por meio de uma API Python ou JavaScript em vez de um console gráfico de banco de dados

Procure outra opção se

  • Você precisa de filtragem de metadados rica e estruturada (intervalos numéricos, geolocalização, condições lógicas complexas) como requisito primário — o Qdrant é construído de forma mais explícita para esse caso de uso
  • Você precisa de memória de agente construída em torno de um grafo de conhecimento de entidades e relações, em vez de similaridade vetorial simples — veja a review do cognee para essa camada
  • Você quer um framework de aplicação LLM mais amplo, em vez de uma camada de armazenamento mais restrita — veja as reviews do LangChain ou do LlamaIndex
  • Você quer um produto gerenciado, sem operação própria e com preços claramente publicados, em vez de operar um banco de dados autohospedado — avalie o Chroma Cloud diretamente frente ao seu orçamento antes de se comprometer

Concorrentes e Alternativas

O Chroma se posiciona na camada de bancos de dados vetoriais e infraestrutura de retrieval, ao lado de vector stores embutidos e frameworks mais amplos de RAG/dados que os desenvolvedores costumam avaliar juntos. Esses não são produtos idênticos — alguns são bancos de dados embutidos mais restritos, outros são frameworks de indexação ou orquestração mais amplos — mas todos competem pela mesma decisão de "onde armazenar e consultar meus embeddings".

txtai

Best known for:
Banco de dados vetorial embutido leve e biblioteca de busca semântica
Artigos sobre txtai (2)

Também mencionado em:

LlamaIndex

Best known for:
Framework de dados focado especificamente em indexação e retrieval para aplicações LLM
Artigos sobre LlamaIndex (9)

+17 mais não exibidos

LangChain

Best known for:
Framework de aplicação LLM de propósito geral, com um grande ecossistema de integrações de retrieval e agentes
Artigos sobre LangChain (9)

+31 mais não exibidos

Haystack (deepset)

Best known for:
Framework open-source de RAG e pipeline de busca da deepset

Esta não é uma lista exaustiva de bancos de dados vetoriais e ferramentas de retrieval — veja o Diretório de Software de LLM Local para o catálogo completo e atualizado regularmente, incluindo a própria entrada do Chroma no diretório.

Comparar no diretório

Erros Comuns ao Avaliar o Chroma

A maior parte da confusão em torno do Chroma vem de confundi-lo com a ferramenta de design homônima e sem relação com ele, presumir que recursos do Chroma Cloud se aplicam ao banco de dados open-source, ou perder dados por usar o modo de cliente errado.

Erro 1: Confundir este Chroma com a ferramenta de design/cores homônima e sem relação com ele

Existe uma ferramenta de design/cores separada e sem relação, também chamada de "Chroma". Esta review cobre apenas o banco de dados vetorial open-source chroma-core/chroma em trychroma.com e github.com/chroma-core/chroma — verifique se você está olhando para o projeto certo antes de instalar qualquer coisa.

Erro 2: Presumir que todo recurso do Chroma Cloud também está no banco de dados open-source

O próprio site do Chroma atribui recursos como busca vetorial esparsa (BM25, SPLADE), camadas automáticas de dados, conformidade SOC 2 Type II e Bring Your Own Cloud (BYOC) ao plano gerenciado Chroma Cloud. Não presuma que tudo isso está disponível no banco de dados open-source autohospedado sem verificar a documentação atual — o núcleo open-source se concentra no fluxo de create/add/query/delete.

Erro 3: Usar o cliente efêmero em memória para dados que você precisa manter

O uso mais simples de chromadb.Client(), mostrado no próprio README do Chroma, é efêmero — os dados se perdem quando o processo é encerrado. Se você precisar que os dados sobrevivam a reinicializações, use um modo de implantação local persistente ou cliente-servidor, e verifique a API exata e atual para isso em docs.trychroma.com.

Erro 4: Tratar números de downloads ou de uso em bases de código como uma contagem de implantações de produção únicas

O próprio site do Chroma cita mais de 15 milhões de downloads mensais e uso em mais de 90.000 bases de código open-source. Esses números refletem o amplo alcance de downloads e referências do pacote chromadb, o que não é o mesmo que uma contagem verificada de usuários de produção únicos e ativos — trate-os como indicadores de popularidade, não como uma métrica precisa de adoção.

Perguntas frequentes

O que é o Chroma?

Chroma (trychroma.com, código-fonte em github.com/chroma-core/chroma) é um banco de dados de embeddings gratuito e open-source (Apache-2.0) — um banco de dados vetorial criado para aplicações de IA como retrieval-augmented generation e busca semântica. Este é o projeto chroma-core/chroma, não a ferramenta de design/cores homônima e sem relação com ele.

O Chroma é gratuito?

Sim, o banco de dados open-source Chroma é gratuito e licenciado sob Apache-2.0, sem plano pago que restrinja nenhum recurso do banco de dados autohospedado. O Chroma Cloud é uma oferta gerenciada separada e opcional, com um plano próprio e precificado separadamente — confira o trychroma.com para preços atuais.

Como instalo o Chroma?

Execute pip install chromadb para Python, ou npm install chromadb para JavaScript/TypeScript. Não é necessária nenhuma chave de API nem conta para o banco de dados autohospedado e open-source.

O Chroma roda totalmente offline e autohospedado?

Sim. O banco de dados open-source Chroma roda inteiramente na sua própria infraestrutura em todos os modos de implantação — em memória, armazenamento local persistente ou cliente-servidor. O Chroma Cloud é uma oferta gerenciada separada e opcional para equipes que preferem não fazer autohospedagem.

Quais são os modos de implantação do Chroma?

Três: um modo em memória/efêmero para prototipagem rápida (os dados se perdem ao encerrar), armazenamento local persistente para que os dados sobrevivam a reinicializações, e uma arquitetura cliente-servidor para acesso compartilhado e multiprocesso.

Qual é a API principal do Chroma?

Quatro funções cobrem o fluxo de trabalho essencial: create_collection para definir uma coleção, add para inserir documentos (com metadados e IDs opcionais), query para buscar por similaridade semântica, e delete para remover entradas.

O Chroma cuida dos embeddings automaticamente?

Sim, por padrão. Se você adicionar texto bruto sem fornecer seus próprios embeddings, o Chroma tokeniza, gera embeddings e indexa os documentos para você usando uma função de embedding padrão; você também pode trazer seus próprios embeddings e modelo de embedding, se preferir.

Como o Chroma se diferencia do Qdrant?

O Chroma é escrito principalmente em Python, com uma API principal deliberadamente enxuta, e costuma ser escolhido para prototipagem rápida. O Qdrant é escrito em Rust e construído em torno de filtragem de metadados mais extensa (intervalos numéricos, geolocalização, texto completo, condições lógicas). Ambos são licenciados sob Apache-2.0, autohospedáveis, e também oferecem um plano de nuvem gerenciado separado — veja a comparação completa acima.

Qual licença o Chroma usa?

Apache-2.0, confirmada pelo classificador do pacote no PyPI e pelo repositório no GitHub.

Com quais frameworks o Chroma se integra?

O Chroma é comumente usado como backend de vector store dentro de pipelines RAG do LangChain e do LlamaIndex, combinado com um modelo de embedding local (por exemplo via Ollama) ou uma API de embedding na nuvem.

O Chroma é o mesmo que a ferramenta de design/cores chamada Chroma?

Não. Esta review cobre o chroma-core/chroma, o banco de dados vetorial de IA open-source em trychroma.com e github.com/chroma-core/chroma. Existe um produto separado e sem relação que também usa o nome "Chroma" no espaço de ferramentas de design/cores — verifique se você tem o projeto certo antes de instalar qualquer coisa.

O que é o Chroma Cloud?

O Chroma Cloud é uma oferta gerenciada/serverless separada e opcional, construída sobre o mesmo banco de dados, para equipes que não querem fazer autohospedagem. O próprio site do Chroma menciona recursos como conformidade SOC 2 Type II e Bring Your Own Cloud (BYOC) nesse plano — verifique os recursos e preços atuais diretamente no trychroma.com.

Fontes

← Voltar para LLMs locais avançados

MCP