Epsilla es una base de datos vectorial open source en C++ para búsquedas de similitud entre embeddings, con filtros de metadatos, búsqueda híbrida e integraciones de recuperación para LLM.
philippgille/chromem-go
Base de datos vectorial integrable en Go con una interfaz similar a Chroma, sin dependencias de terceros y con persistencia opcional en disco.
Alternativa open source a:Pinecone
- Estrellas
- 1,075
- Forks
- 78
- Issues abiertos
- 21
- Último commit
- hace 2 meses
¿Qué es?
chromem-go es una base de datos vectorial que se ejecuta dentro de un programa Go, como SQLite dentro de una aplicación, por lo que no hace falta instalar ni mantener un servidor independiente. Almacena documentos con sus embeddings y puede generarlos mediante proveedores como OpenAI, Ollama, Cohere o Mistral, o aceptar embeddings que ya hayas calculado.
Está pensada para generación aumentada por recuperación (RAG), búsqueda semántica y funciones similares en cargas de trabajo pequeñas o medianas, no para millones de documentos. La búsqueda exhaustiva de vecinos más cercanos usa la similitud del coseno, y las consultas se pueden filtrar por metadatos o por si el texto del documento contiene o no una cadena. Los datos se almacenan en memoria de forma predeterminada, con persistencia inmediata opcional en archivos y opciones para exportar e importar toda la base de datos como copia de seguridad.
La API refleja los métodos principales de Chroma (add, query, get, create y delete collections) y ofrece, además, alternativas más acordes con las convenciones de Go. El proyecto está en beta y podría introducir cambios incompatibles antes de la versión v1.0.0.
Funciones clave
- 01Se ejecuta integrada en una aplicación Go, sin dependencias externas ni servidor.
- 02Genera embeddings mediante OpenAI, Azure OpenAI, Ollama, Cohere, Mistral y otros proveedores, o acepta vectores calculados previamente.
- 03Búsqueda exhaustiva por similitud del coseno con filtros de metadatos y del contenido de los documentos.
- 04Almacenamiento en memoria con persistencia inmediata opcional en archivos.
- 05Exportación e importación de toda la base de datos, con compresión y cifrado opcionales.
Casos de uso
- Añadir respuestas a preguntas basadas en RAG a un servicio Go sin desplegar una base de datos vectorial independiente.
- Realizar búsquedas semánticas en un conjunto pequeño o mediano de documentos desde una herramienta CLI o de escritorio.
- Crear prototipos de funciones basadas en embeddings en Go antes de elegir una base de datos de mayor escala.
Inicio rápido
- 1
Instala la biblioteca con go get
go get github.com/philippgille/chromem-go@latest - 2
Importa chromem-go y crea una base de datos en memoria y una colección; después, añade documentos y realiza consultas (consulta el ejemplo mínimo)
Antes de usarlo
- El proyecto está en fase beta y puede introducir cambios incompatibles antes de la versión v1.0.0.
- Está diseñado para ser sencillo y para escalas pequeñas o medianas, no para millones de documentos.
- La generación de embeddings predeterminada usa OpenAI y requiere una clave de API, salvo que configures otro proveedor.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es chromem-go?
- Base de datos vectorial integrable en Go con una interfaz similar a Chroma, sin dependencias de terceros y con persistencia opcional en disco. chromem-go es una base de datos vectorial que se ejecuta dentro de un programa Go, como SQLite dentro de una aplicación, por lo que no hace falta instalar ni mantener un servidor independiente. Almacena documentos con sus embeddings y puede generarlos mediante proveedores como OpenAI, Ollama, Cohere o Mistral, o aceptar embeddings que ya hayas calculado.
- ¿chromem-go es gratuito? ¿Qué licencia tiene?
- chromem-go es open source bajo la licencia MPL-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿chromem-go sigue mantenido?
- Actualizado en los últimos 6 meses. El último commit de chromem-go fue el 6 sept 2026.
- ¿Para qué puedo usar chromem-go?
- Añadir respuestas a preguntas basadas en RAG a un servicio Go sin desplegar una base de datos vectorial independiente. Realizar búsquedas semánticas en un conjunto pequeño o mediano de documentos desde una herramienta CLI o de escritorio. Crear prototipos de funciones basadas en embeddings en Go antes de elegir una base de datos de mayor escala.
- ¿Cómo se instala chromem-go?
- Instala la biblioteca con go get: go get github.com/philippgille/chromem-go@latest Importa chromem-go y crea una base de datos en memoria y una colección; después, añade documentos y realiza consultas (consulta el ejemplo mínimo)
- ¿Dónde consigo chromem-go?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/philippgille/chromem-go
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Una biblioteca Java que ofrece a las aplicaciones JVM una API unificada para proveedores de LLM y almacenes vectoriales, con llamadas a herramientas, agentes y RAG.
Cliente Python para crear búsquedas vectoriales, RAG, cachés semánticas y memoria para LLM sobre Redis.
Milvus es una base de datos vectorial distribuida y de código abierto para almacenar y buscar embeddings a gran escala, utilizada en búsquedas con IA y aplicaciones RAG.
Índice vectorial local y toolkit de RAG que reduce el almacenamiento cerca de un 97 % al recalcular embeddings bajo demanda, para buscar datos personales en tu laptop.
Qdrant es un motor de búsqueda de similitud vectorial y una base de datos vectorial basado en Rust, con filtros por payload, para búsquedas semánticas y recomendaciones.