Antfly: Busca e Memória Distribuída Multimodal e Grafos em Go
Olá HN, estou animado para compartilhar Antfly: um banco de dados de documentos distribuído e motor de busca escrito em Go que combina busca de texto completo, vetorial e em grafos. Use-o para busca e memória multimodal distribuída, ou para desenvolvimento local e pequenas implementações. Construí isso para dar aos desenvolvedores uma implementação com binário único e inferência ML nativa (via um serviço embutido chamado Termite), significando que você não precisa de chamadas externas de API para busca vetorial, exceto se quiser usar. Algumas coisas que podem interessar esta comunidade: Capacidades: Indexação multimodal (imagens, áudio, vídeo), atualizações in-place estilo MongoDB, e RAG streaming. Sistemas Distribuídos: Configuração Multi-Raft construída na biblioteca do etcd, com suporte de Pebble (motor de armazenamento do CockroachDB). Fragmentos de metadados e dados têm seus próprios grupos Raft. Binário Único: antfly swarm oferece uma implementação de processo único com tudo funcionando. Bom para desenvolvimento local e pequenas implementações. Escale horizontalmente adicionando nodos quando necessário. Ecossistema: Inclui um operador Kubernetes e um servidor MCP para uso de ferramentas LLM. Inferência ML Nativa: Antfly inclui Termite. Pense como um Ollama embutido também para modelos não generativos (embeddings, reranking, chunking, geração de texto). Não precisa de chamadas externas de API, mas também suporta elas (OpenAI, Ollama, Bedrock, Gemini, etc.) Licença: Escolhi a Elastic License v2, não uma licença OSI-approved. Sei que é um tema com sentimentos intensos aqui. O resultado prático: você pode usar, modificar, hospedar por si mesmo, construir produtos sobre ele, apenas não pode oferecer o Antfly como um serviço gerenciado. Pareceu o equilíbrio certo para sustentabilidade enquanto ainda disponibiliza o código. Feliz para responder perguntas sobre a arquitetura, a implementação Raft, ou qualquer outra coisa. Feedback bem-vindo!
- Análise de Dados
- Código Aberto
- Integrações
✨ Resumo de IA
Antfly é um banco de dados de documentos distribuído e mecanismo de busca escrito em Go que combina capacidades de busca de texto completo, vetorial e gráfica. Possui implantação de binário único com inferência de ML integrada para embeddings e outras tarefas.
Melhor para
Desenvolvedores que precisam de uma solução de busca unificada para dados multimodais (imagens, áudio, vídeo), Equipes que buscam um sistema de busca e memória distribuído e auto-hospedado para aplicações RAG, Projetos que exigem desenvolvimento local ou pequenas implantações sem dependências de API externas
Por que importa
Oferece um sistema único e autossuficiente para busca multimodal com inferência de ML nativa, eliminando a necessidade de chamadas de API externas enquanto suporta escalabilidade distribuída.
Principais recursos
- Combina pesquisa de texto completo, vetorial e gráfica em um único banco de dados distribuído
- Serviço de inferência de ML integrado para embeddings, reranking e chunking sem APIs externas
- Suporta indexação multimodal de imagens, áudio e documentos de vídeo
- Implantação de binário único para desenvolvimento local com escalabilidade fácil para clusters distribuídos
Casos de uso
- Uma empresa de comunicação quer construir um sistema interno de busca de arquivos onde os jornalistas podem encontrar clips de vídeo, entrevistas em áudio e imagens usando consultas em linguagem natural. Em vez de manter bases de dados separadas para diferentes tipos de media e depender de serviços externos de IA, o seu departamento de engenharia implementa Antfly como um único binário nos seus servidores internos. Os jornalistas podem agora pesquisar em todos os formatos de media simultaneamente, e o sistema sugere automaticamente conteúdo relacionado usando relações gráficas entre pessoas, eventos e temas mencionados nos materiais.
- Uma startup que desenvolve um assistente de pesquisa com IA precisa implementar um sistema de memória que recorde interações dos usuários, documentos e páginas web entre sessões. Os seus desenvolvedores usam o modo de implementação local de Antfly para prototipagem, aproveitando os seus modelos de embedding integrados para vetorizar conteúdo sem custos de API. À medida que escalam, distribuem a base de dados por múltiplos nodos mantendo a capacidade de realizar buscas semânticas sobre conversas anteriores e documentos recuperados, permitindo que o seu assistente forneça respostas contextualmente relevantes.
- Uma plataforma de e-commerce quer melhorar a descoberta de produtos permitindo aos clientes pesquisar usando imagens ou descrições vagas. O seu departamento backend implementa Antfly para indexar imagens de produtos, descrições e sentimentos de avaliações dos clientes. Quando um usuário carrega uma foto de um item desejado, o sistema encontra produtos visualmente similares e recomenda itens complementares baseados em padrões gráficos de compra, tudo enquanto processa atualizações de inventário em tempo real através de operações estilo MongoDB.