Antfly: Búsqueda y Memoria Multimodal Distribuida y Grafos en Go

¡Hola HN! Me emociona compartir Antfly: una base de datos de documentos distribuida y motor de búsqueda escrito en Go que combina búsqueda de texto completo, vectorial y de grafos. Úsalo para búsqueda y memoria multimodal distribuida, o para desarrollo local y despliegues pequeños. Lo construí para dar a los desarrolladores un despliegue de binario único con inferencia ML nativa (mediante un servicio integrado llamado Termite), lo que significa que no necesitas llamadas API externas para búsqueda vectorial a menos que quieras usarlas. Algunas cosas que podrían interesar a esta comunidad: Capacidades: Indexación multimodal (imágenes, audio, video), actualizaciones in situ estilo MongoDB y RAG en streaming. Sistemas Distribuidos: Configuración Multi-Raft construida sobre la librería de etcd, respaldada por Pebble (el motor de almacenamiento de CockroachDB). Los fragmentos de metadatos y datos tienen sus propios grupos Raft. Binario Único: antfly swarm te da un despliegue de proceso único con todo funcionando. Ideal para desarrollo local y despliegues pequeños. Escala horizontalmente añadiendo nodos cuando lo necesites. Ecosistema: Incluye un operador de Kubernetes y un servidor MCP para uso de herramientas LLM. Inferencia ML nativa: Antfly incluye Termite. Piensa en ello como un Ollama integrado también para modelos no generativos (embeddings, reranking, fragmentación, generación de texto). No se necesitan llamadas API externas, pero también las soporta (OpenAI, Ollama, Bedrock, Gemini, etc.). Licencia: Opté por la Licencia Elastic v2, no una licencia aprobada por OSI. Sé que es un tema con opiniones fuertes aquí. El resultado práctico: puedes usarlo, modificarlo, autoalojarlo, construir productos sobre él, solo no puedes ofrecer Antfly mismo como servicio gestionado. Me pareció el equilibrio adecuado para sostenibilidad mientras aún se hace disponible el código fuente. ¡Encantado de responder preguntas sobre la arquitectura, la implementación Raft o cualquier otra cosa! ¡Se agradecen comentarios!

  • Analítica de Datos
  • API Platform
  • Código Abierto

Resumen de IA

Antfly es una base de datos de documentos distribuida y un motor de búsqueda escrito en Go que combina capacidades de búsqueda de texto completo, vectorial y gráfica. Cuenta con una implementación de un solo binario con inferencia de ML integrada para embeddings y otras tareas.

Ideal para

Desarrolladores que necesitan una solución de búsqueda unificada para datos multimodales (imágenes, audio, video), Equipos que buscan un sistema de búsqueda y memoria distribuido y autohospedado para aplicaciones RAG, Proyectos que requieren desarrollo local o implementaciones pequeñas sin dependencias de API externas

Por qué importa

Proporciona un sistema único e independiente para búsqueda multimodal con inferencia de ML nativa, eliminando la necesidad de llamadas a API externas mientras soporta escalado distribuido.

Funciones clave

  • Combina búsqueda de texto completo, vectorial y de grafos en una única base de datos distribuida
  • Servicio de inferencia de ML incorporado para embeddings, reranking y fragmentación sin APIs externas
  • Admite indexación multimodal de imágenes, audio y documentos de video
  • Implementación de binario único para desarrollo local con escalado sencillo a clústeres distribuidos

Casos de uso

  • Una empresa de medios quiere construir un sistema de búsqueda interno de archivos donde los periodistas puedan encontrar clips de video, entrevistas de audio e imágenes usando consultas en lenguaje natural. En lugar de mantener bases de datos separadas para diferentes tipos de medios y depender de servicios externos de IA, su equipo de ingeniería implementa Antfly como un único binario en sus servidores internos. Los periodistas ahora pueden buscar en todos los formatos de medios simultáneamente, y el sistema automáticamente sugiere contenido relacionado usando relaciones gráficas entre personas, eventos y temas mencionados en los materiales.
  • Una startup desarrollando un asistente de investigación impulsado por IA necesita implementar un sistema de memoria que recuerde las interacciones de los usuarios, documentos y páginas web entre sesiones. Sus desarrolladores usan el modo de implementación local de Antfly para prototipar, aprovechando sus modelos de embeddings incorporados para vectorizar contenido sin costos de API. Al escalar, distribuyen la base de datos entre múltiples nodos manteniendo la capacidad de realizar búsquedas semánticas sobre conversaciones pasadas y documentos recuperados, permitiendo que su asistente proporcione respuestas contextualmente relevantes.
  • Una plataforma de comercio electrónico quiere mejorar la descubierta de productos permitiendo a los clientes buscar usando imágenes o descripciones vagas. Su equipo backend implementa Antfly para indexar imágenes de productos, descripciones y sentimientos de las reseñas de clientes. Cuando un usuario sube una foto de un artículo deseado, el sistema encuentra productos visualmente similares y recomienda artículos complementarios basados en patrones gráficos de compra, todo mientras maneja actualizaciones de inventario en tiempo real mediante operaciones estilo MongoDB.