Chroma (também conhecido como ChromaDB) é um sistema de infraestrutura de dados de código aberto voltado para aplicações construídas com grandes modelos de linguagem. Ele funciona como um banco de dados de embeddings, permitindo que desenvolvedores armazenem, gerenciem e pesquisem representações vetoriais de dados, um requisito central para fluxos de trabalho modernos de inteligência artificial, como a geração aumentada por recuperação. O sistema oferece uma interface leve e amigável para desenvolvedores, integrando busca vetorial em pipelines de IA, frequentemente usado em conjunto com frameworks para construir aplicações de IA generativa.
Com sede em São Francisco, a Chroma foi lançada em 2023 e rapidamente atraiu capital de risco. Em abril de 2023, a empresa anunciou que havia levantado 18 milhões de dólares americanos em financiamento inicial, refletindo o crescente interesse em infraestrutura de dados para IA. O projeto é mantido como software de código aberto, permitindo ampla contribuição e adoção pela comunidade.
Busca vetorial e embeddings
A função principal da Chroma é servir como um banco de dados vetorial de redes neurais que lida com o armazenamento e a recuperação de embeddings. No contexto de aprendizado de máquina, embeddings são representações numéricas de dados como texto, imagens ou áudio, produzidas por modelos como grandes modelos de linguagem. A Chroma indexa esses embeddings e suporta busca rápida por similaridade, permitindo operações como resposta a perguntas ou recomendação ao encontrar os vetores mais próximos em um espaço multidimensional. Essa abordagem é comum em tarefas de processamento de linguagem natural, onde a similaridade semântica substitui a correspondência por palavras-chave.
O banco de dados é projetado para ser leve e fácil de configurar, oferecendo backends de armazenamento tanto em memória quanto persistentes. Os desenvolvedores podem consultá-lo usando uma API simples, integrando-se a frameworks populares de IA e APIs de modelos como OpenAI ou Anthropic. A Chroma também suporta filtragem por metadados, permitindo que os resultados da busca sejam restringidos por atributos personalizados.
Integração com grandes modelos de linguagem
A Chroma é frequentemente usada como parte da pilha de geração aumentada por recuperação (RAG), uma técnica que combina um grande modelo de linguagem com um banco de dados vetorial para buscar documentos relevantes antes de gerar uma resposta. Em um pipeline RAG, uma consulta de entrada é convertida em um embedding, a Chroma recupera os pontos de dados mais similares, e o modelo os usa como contexto. Isso reduz a alucinação, fundamentando-se em dados reais.
Esse fluxo de trabalho foi implementado em estudos acadêmicos sobre inteligência artificial, particularmente em experimentos envolvendo arquiteturas transformers. O design está alinhado com as práticas de empresas como Google DeepMind e Cerebras, embora a Chroma em si seja uma ferramenta independente construída para facilitar a integração em muitos ambientes.
Arquitetura técnica
O núcleo é construído em Python, permitindo uso direto em fluxos de trabalho de ciência de dados e aprendizado de máquina. Um índice vetorial é mantido em memória para cálculo rápido de vizinhos mais próximos, juntamente com uma camada de armazenamento persistente. A Chroma não inclui um modelo em tempo de execução para gerar embeddings; em vez disso, suporta múltiplas funções de embedding, desde simples até definidas pelo usuário, para que possa ser usada com qualquer modelo.
Os desenvolvedores podem executar a Chroma localmente para prototipagem ou implantá-la em Amazon Web Services e outras infraestruturas de nuvem para produção. Ela é construída com foco em desempenho e consumo mínimo de recursos, tornando-a adequada para aplicações em dispositivos de borda ou ambientes semelhantes a robôs de bolso, e funciona ao lado de outras plataformas como Oracle Cloud Infrastructure e Google Cloud de forma equivalente.
Uso acadêmico e em pesquisa
Vários projetos de pesquisa em inteligência artificial, especialmente na área de resposta a perguntas com uso intensivo de conhecimento e recuperação de informação, adotaram a Chroma como parte de suas pilhas técnicas. Sua natureza de código aberto permite reprodutibilidade, pois pesquisadores podem facilmente configurar bancos de dados vetoriais para seus conjuntos de teste. Por exemplo, em alguns estudos usando grandes modelos de linguagem em corpora como artigos científicos, a Chroma fornece a etapa de recuperação antes que o modelo de geração produza a saída. Isso foi observado em trabalhos sobre melhoria de sistemas de redes neurais para acesso eficiente ao conhecimento e em comparação com outras implementações de RAG.
O software também é usado como um ambiente de teste para explorar novos métodos de gerenciamento de dados para IA, pois permite iteração rápida com configuração mínima em comparação com bancos de dados tradicionais.
Comunidade e indústria
A Chroma ganhou tração com desenvolvedores que constroem soluções de IA generativa, devido à sua facilidade de integração com frameworks modernos de IA. A equipe oferece suporte comercial e pivôs para nuvem, mas o código de código aberto permanece uma parte central de seu valor. Ela fornece uma API padrão que tem sido usada para construir assistentes baseados em chat, incluindo aqueles para IA da Amazon e sob configurações de hardware restritas.
Com a ênfase crescente na recuperação eficiente em aplicações de inteligência artificial, a Chroma se posiciona como um ingrediente central para construir o que é frequentemente chamado de camada de banco de dados de IA, ao lado de ferramentas similares como as usadas por SambaNova ou a computação distribuída em espera na sede.