Antfly: Distributed, Multimodal Search and Memory and Graphs in Go
Hey HN, ich freue mich, Antfly vorstellen zu können: eine verteilte Dokumentendatenbank und Suchmaschine in Go, die Volltext-, Vektor- und Graph-Suche kombiniert. Nutze sie für verteilte multimodale Suche und Memory oder für lokale Entwicklung und kleine Deployment. Ich habe dies entwickelt, um Entwicklern ein Single-Binary-Deployment mit native ML-Inferenz (via einem eingebauten Service namens Termite) zu bieten, sodass keine externen API-Calls für Vektor-Suche benötigt werden, außer man möchte sie nutzen. Einige Punkte, die diese Community interessieren könnten: Funktionen: Multimodale Indexierung (Bilder, Audio, Video), MongoDB-style In-Place Updates und Streaming RAG. Distributed Systems: Multi-Raft-Setup basiert auf etcd's Library, unterstützt durch Pebble (CockroachDB's Storage Engine). Metadata und Data Shards erhalten eigene Raft-Gruppen. Single Binary: antfly swarm bietet ein Single-Process-Deployment mit allen laufenden Komponenten. Gut für lokale Entwicklung und kleine Deployment. Skaliere durch Hinzufügen von Nodes, wenn benötigt. Ecosystem: Liefert einen Kubernetes Operator und einen MCP Server für LLM-Tool-Use. Native ML-Inferenz: Antfly kommt mit Termite. Betrachte es wie einen eingebauten Ollama auch für non-generative Models (Embeddings, Re-ranking, Chunking, Textgeneration). Keine externen API-Calls benötigt, aber unterstützt auch diese (OpenAI, Ollama, Bedrock, Gemini, etc.) Lizenz: Ich habe Elastic License v2 gewählt, keine OSI-approved Lizenz. Ich weiß, das ist ein Thema mit starken Meinungen hier. Die praktische Folge: Du kannst es nutzen, modifizieren, selbst hosten, Produkte darauf entwickeln, aber du darfst Antfly selbst nicht als Managed Service anbieten. Fühlte sich wie der richtige Tradeoff für Sustainability, während der Source Code verfügbar bleibt. Gerne Fragen zur Architektur, der Raft-Implementierung oder anderen Themen. Feedback erwünscht!
- API Platform
- Cloud Native
- Datenanalyse
✨ KI-Zusammenfassung
Antfly ist eine in Go geschriebene verteilte Dokumentendatenbank und Suchmaschine, die Volltext-, Vektor- und Graphsuchfunktionen kombiniert. Sie zeichnet sich durch eine Einzel-Binary-Bereitstellung mit integrierter ML-Inferenz für Embeddings und andere Aufgaben aus.
Am besten geeignet für
Entwickler, die eine einheitliche Suchlösung für multimodale Daten (Bilder, Audio, Video) benötigen, Teams, die ein selbst gehostetes, verteiltes Such- und Speichersystem für RAG-Anwendungen suchen, Projekte, die lokale Entwicklung oder kleine Bereitstellungen ohne externe API-Abhängigkeiten erfordern
Warum es wichtig ist
Es bietet ein einheitliches, eigenständiges System für multimodale Suche mit nativer ML-Inferenz, wodurch externe API-Aufrufe entfallen und verteilte Skalierung unterstützt wird.
Hauptfunktionen
- Kombiniert Volltext-, Vektor- und Graph-Suche in einer einzigen verteilten Datenbank
- Integrierte ML-Inferenzdienst für Embeddings, Neuordnung und Segmentierung ohne externe APIs
- Unterstützt multimodale Indexierung von Bild-, Audio- und Video-Dokumenten
- Einzel-Binary-Deployment für lokale Entwicklung mit einfacher Skalierung auf verteilte Cluster
Anwendungsfälle
- Ein Medienunternehmen möchte ein internes Archivsuchsystem entwickeln, in dem Journalisten Videoclips, Audio-Interviews und Bilder mit natürlichen Sprachabfragen finden können. Statt separate Datenbanken für verschiedene Medientypen zu pflegen und externe KI-Services zu nutzen, setzt ihr Engineering-Team Antfly als einzelne Binärdatei auf ihren internen Servern ein. Journalisten können nun alle Medienformate simultan durchsuchen, und das System schlägt automatisch verwandte Inhalte basierend auf Graphenbeziehungen zwischen Personen, Ereignissen und Themen vor, die in den Materialien erwähnt werden.
- Ein Startup, das einen KI-gestützten Forschungsassistenten entwickelt, benötigt ein Memory-System, das Nutzerinteraktionen, Dokumente und Webseiten über Sessions hinweg speichert. Ihre Entwickler nutzen Antfly's lokalen Deployment-Modus für Prototyping, indem sie die integrierten Embedding-Modelle zur Vektorisierung von Inhalten ohne API-Kosten einsetzen. Bei Skalierung verteilen sie die Datenbank auf mehrere Nodes, während sie die Möglichkeit zur semantischen Suche über vergangene Konversationen und abgerufene Dokumente erhalten, sodass ihr Assistent kontextbezogene Antworten liefern kann.
- Ein E-Commerce-Plattform möchte die Produktfindung verbessern, indem Kunden Bilder oder vage Beschreibungen für die Suche nutzen können. Ihr Backend-Team implementiert Antfly, um Produktbilder, Beschreibungen und Kundenbewertungs-Sentiments zu indexieren. Wenn ein Nutzer ein Foto eines gewünschten Items hochlädt, findet das System visuell ähnliche Produkte und empfiehlt ergänzende Artikel basierend auf Kaufgraphen-Patterns, während es gleichzeitig Live-Inventory-Updates durch MongoDB-style Operationen handhabt.