Antfly : Recherche, mémoire et graphes multimodales distribués en Go
Salut HN, je suis ravi de vous présenter Antfly : une base de données documentaire distribuée et un moteur de recherche écrit en Go qui combine la recherche en texte intégral, vectorielle et par graphes. Utilisez-le pour la recherche et la mémoire multimodales distribuées, ou pour le développement local et les petits déploiements. Je l'ai conçu pour offrir aux développeurs un déploiement en binaire unique avec inférence ML native (via un service intégré appelé Termite), ce qui signifie que vous n'avez pas besoin d'appels API externes pour la recherche vectorielle, sauf si vous le souhaitez. Quelques éléments qui pourraient intéresser cette communauté : Capacités : Indexation multimodale (images, audio, vidéo), mises à jour sur place à la manière de MongoDB, et RAG en streaming. Systèmes distribués : Configuration Multi-Raft basée sur la bibliothèque d'etcd, avec Pebble (le moteur de stockage de CockroachDB) en backend. Les métadonnées et les fragments de données ont leurs propres groupes Raft. Binaire unique : antfly swarm vous offre un déploiement monoprocessus avec tout ce qui tourne. Idéal pour le développement local et les petits déploiements. Faites évoluer en ajoutant des nœuds quand nécessaire. Écosystème : Livré avec un opérateur Kubernetes et un serveur MCP pour l'utilisation d'outils LLM. Inférence ML native : Antfly inclut Termite. Voyez-le comme un Ollama intégré pour les modèles non génératifs aussi (embeddings, reranking, segmentation, génération de texte). Aucun appel API externe nécessaire, mais il les prend également en charge (OpenAI, Ollama, Bedrock, Gemini, etc.). Licence : J'ai opté pour la licence Elastic v2, qui n'est pas une licence approuvée par l'OSI. Je sais que c'est un sujet qui suscite des réactions vives ici. L'impact pratique : vous pouvez l'utiliser, la modifier, l'héberger vous-même, créer des produits dessus, mais vous ne pouvez pas proposer Antfly lui-même en tant que service managé. Cela m'a semblé être le bon compromis pour la durabilité tout en rendant le code source disponible. Je me ferai un plaisir de répondre à vos questions sur l'architecture, l'implémentation de Raft ou tout autre sujet. Vos retours sont les bienvenus !
- Analyse de données
- API Platform
- Cloud Native
✨ Résumé IA
Antfly est une base de données documentaire distribuée et un moteur de recherche écrit en Go qui combine des capacités de recherche en texte intégral, vectorielle et graphique. Il se caractérise par un déploiement en binaire unique avec inférence ML intégrée pour les embeddings et autres tâches.
Idéal pour
Développeurs ayant besoin d'une solution de recherche unifiée pour des données multimodales (images, audio, vidéo), Équipes recherchant un système de recherche et de mémoire distribué auto-hébergé pour des applications RAG, Projets nécessitant un développement local ou de petits déploiements sans dépendances d'API externes
Pourquoi c'est important
Il fournit un système unique et autonome pour la recherche multimodale avec inférence ML native, éliminant le besoin d'appels API externes tout en prenant en charge une mise à l'échelle distribuée.
Fonctionnalités clés
- Combine la recherche en texte intégral, vectorielle et par graphes dans une base de données distribuée unique
- Service d'inférence ML intégré pour les embeddings, le reranking et le chunking sans API externes
- Prend en charge l'indexation multimodale des documents images, audio et vidéo
- Déploiement en binaire unique pour le développement local avec une mise à l'échelle facile vers des clusters distribués
Cas d'usage
- Une entreprise de médias souhaite créer un système de recherche d'archives interne où les journalistes peuvent trouver des extraits vidéo, des interviews audio et des images en utilisant des requêtes en langage naturel. Au lieu de maintenir des bases de données séparées pour différents types de médias et de dépendre de services d'IA externes, leur équipe d'ingénieurs déploie Antfly sous forme de binaire unique sur leurs serveurs internes. Les journalistes peuvent désormais rechercher simultanément dans tous les formats multimédias, et le système suggère automatiquement du contenu connexe en utilisant les relations graphiques entre les personnes, les événements et les sujets mentionnés dans les documents.
- Une startup développant un assistant de recherche alimenté par l'IA doit mettre en œuvre un système de mémoire qui se souvient des interactions des utilisateurs, des documents et des pages web entre les sessions. Leurs développeurs utilisent le mode de déploiement local d'Antfly pour le prototypage, en tirant parti de ses modèles d'incorporation intégrés pour vectoriser le contenu sans frais d'API. À mesure qu'ils évoluent, ils répartissent la base de données sur plusieurs nœuds tout en conservant la capacité d'effectuer des recherches sémantiques sur les conversations passées et les documents récupérés, permettant à leur assistant de fournir des réponses pertinentes dans leur contexte.
- Une plateforme de commerce électronique souhaite améliorer la découverte de produits en permettant aux clients de rechercher à l'aide d'images ou de descriptions vagues. Leur équipe backend implémente Antfly pour indexer les images de produits, les descriptions et les sentiments des avis clients. Lorsqu'un utilisateur télécharge une photo d'un article souhaité, le système trouve des produits visuellement similaires et recommande des articles complémentaires basés sur les modèles de graphe d'achat, tout en gérant les mises à jour d'inventaire en temps réel via des opérations de style MongoDB.