O Colbertdb é um banco de dados de código aberto projetado para recuperação de informações eficientes usando Colbert e Plaid. Inspirado e fortemente proveitoso de Ragatouille, o Colbertdb visa simplificar o processo complexo de Chunking, incorporação e indexação de documentos para aplicativos de geração de recuperação com agente de recuperação (RAG). Este projeto surgiu das melhorias significativas observadas ao alternar de um banco de dados de vetor tradicional para um índice baseado em Colbert.
A motivação por trás de Colbertdb é três vezes:
Recuperação de informações mais relevantes: a troca de um banco de dados vetorial para um índice baseado em Colbert produziu melhorias significativas na recuperação de informações para um projeto. Isso destacou os benefícios potenciais da indexação baseada em Colbert sobre os métodos tradicionais.
Interface amigável para desenvolvedores: Configurando o Chunking, a incorporação e a indexação de documentos pode ser desafiador e propenso a erros. O Colbertdb fornece uma interface simples com padrões inteligentes, facilitando os desenvolvedores para integrar recursos poderosos de recuperação de informações em seus aplicativos.
Dependência reduzida de provedores de modelos externos: possuir o modelo de incorporação significa que não há dependência de APIs de incorporação externa e a capacidade de ajustar o modelo subjacente ao seu domínio específico para uma relevância de recuperação ainda melhor.
A imagem do Docker usa uma imagem base do CUDA e utilizará as GPUs, se disponível. Recomenda -se executar o Colbertdb em hardware com GPUs, pois os documentos de indexação são proibitivamente lentos usando as CPUs. Você precisará de Docker Running (https://www.docker.com/products/docker-desktop/) para começar localmente.
docker build . -t colbertdb:latest
docker run colbertdb:latestou
docker compose up --build