10作者: kingcauchy9 天前
嗨,HN,很高兴与大家分享 Antfly:一个用 Go 编写的分布式文档数据库和搜索引擎,它结合了全文、向量和图搜索。你可以用它来进行分布式多模态搜索和记忆,或者用于本地开发和小规模部署。 我构建它的目的是为了给开发者提供一个单二进制部署,并具有原生 ML 推理能力(通过一个名为 Termite 的内置服务),这意味着除非你想使用外部 API 调用来进行向量搜索,否则你不需要这样做。 一些可能让大家感兴趣的点: 功能:多模态索引(图像、音频、视频)、MongoDB 风格的原地更新和流式 RAG。 分布式系统:基于 etcd 库构建的多 Raft 设置,由 Pebble(CockroachDB 的存储引擎)提供支持。元数据和数据分片拥有自己的 Raft 组。 单二进制:antfly swarm 给你一个单进程部署,一切都在运行。适用于本地开发和小规模部署。当需要时,通过添加节点进行扩展。 生态系统:附带 Kubernetes operator 和用于 LLM 工具使用的 MCP 服务器。 原生 ML 推理:Antfly 附带 Termite。可以把它想象成一个内置的 Ollama,也适用于非生成模型(嵌入、重新排序、分块、文本生成)。不需要外部 API 调用,但也支持它们(OpenAI、Ollama、Bedrock、Gemini 等)。 许可证:我选择了 Elastic License v2,而不是一个 OSI 批准的许可证。我知道这在这里是一个备受争议的话题。实际结果是:你可以使用它、修改它、自托管它、在其之上构建产品,但你不能将 Antfly 本身作为托管服务提供。这感觉是在可持续性与仍然提供源代码之间的一个正确的权衡。 很乐意回答关于架构、Raft 实现或任何其他问题。欢迎反馈!