ColbertDB es una base de datos de código abierto diseñada para una recuperación de información eficiente utilizando Colbert y Plaid. Inspirado en y muy obtenido de Ragatouille, Colbertdb tiene como objetivo simplificar el complejo proceso de fragmentación de documentos, incrustación e indexación para aplicaciones de generación (RAG) de recuperación (RAG). Este proyecto surgió de las mejoras significativas observadas al cambiar de una base de datos vectorial tradicional a un índice basado en Colbert.
La motivación detrás de Colbertdb es tres veces:
Recuperación de información más relevante: el cambio de una base de datos vectorial a un índice basado en Colbert arrojó mejoras significativas en la recuperación de información para un proyecto. Esto destacó los beneficios potenciales de la indexación basada en Colbert sobre los métodos tradicionales.
Interfaz amigable para el desarrollador: la configuración de la fragmentación de documentos, la incrustación y la indexación pueden ser desafiantes y propensos a errores. ColBertDB proporciona una interfaz simple con valores de valor inteligentes, lo que facilita a los desarrolladores integrar poderosas capacidades de recuperación de información en sus aplicaciones.
Reducción de la dependencia de los proveedores de modelos externos: poseer el modelo de incrustación significa que no hay dependencia de las API de incrustación externas y la capacidad de ajustar el modelo subyacente a su dominio específico para una relevancia de recuperación aún mejor.
La imagen Docker utiliza una imagen base CUDA y utilizará GPU si está disponible. Se recomienda ejecutar COLBERTDB en hardware con GPU, ya que los documentos de indexación es prohibitivamente lento utilizando CPU. Necesitará Docker Running (https://www.docker.com/products/docker-desktop/) para comenzar localmente.
docker build . -t colbertdb:latest
docker run colbertdb:latesto
docker compose up --build