moss
亚毫秒级语义搜索运行时,Embedding+检索嵌入应用进程,消除网络延迟,为实时语音 AI Age
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
亚毫秒级语义搜索运行时,Embedding+检索嵌入应用进程,消除网络延迟,为实时语音 AI Age
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象这样一个场景:用户正和语音客服机器人对话,问了一句"我上周订的那个耳机退款到哪一步了",机器人需要在 500ms 内给出回答。传统方案中,光是调用外部向量数据库(Pinecone / Qdrant / ChromaDB)的往返网络延迟就达到 350-930ms,还没算上 Embedding 调用的耗时——这个等待时间在语音对话中是致命的,会让用户明显感到"卡顿"甚至打断对话节奏。
Moss 正是为解决这个痛点而生的。它是一个亚毫秒(<10ms)语义搜索运行时,将 Embedding 模型和检索引擎直接嵌入应用进程内,彻底消除网络调用开销。
检索增强生成(RAG)是 AI 应用的主流架构,而向量数据库是 RAG 的核心组件——负责将文本片段 Embed 成向量,在向量空间中搜索相似内容,返回给 LLM 作为上下文。然而,这条技术链路在实时对话场景中遇到了根本性挑战:
远程向量数据库的延迟是硬伤。 一次完整的语义搜索需要:Embedding(调用外部服务 50-200ms)+ 网络往返(50-200ms)+ 向量检索(100-500ms)= 总耗时 200-900ms。这对于普通 AI ChatBot 勉强可以接受,但对于需要实时语音交互的 AI Agent(如电话客服、现场助手)来说,500ms 以上的延迟就会导致对话体验明显下降。
2025 年下半年,Moss 由美国 AI 基础设施公司 InferEdge Inc. 正式发布,迅速获得 AI Agent 开发社区的关注。其核心团队来自 edge computing 和嵌入式 AI 领域,选择了一条不同于传统向量数据库的技术路线:不做数据库,做运行时(Runtime)。

Moss 不是又一个向量数据库,它是一个可直接嵌入应用进程的语义搜索 SDK。开发者通过 Python / TypeScript / Elixir / C 等语言调用 MossClient,将文档索引到本地运行时,在进程内完成 Embedding + 检索全流程。
官方基准测试(100,000 文档,750 次查询,MacBook Pro M4 Pro 24GB):
| 系统 | P50 | P95 | P99 | 均值 |
|---|---|---|---|---|
| Moss | 3.1ms | 4.3ms | 5.4ms | 3.3ms |
| Pinecone | 432.6ms | 732.1ms | 934.2ms | 485.8ms |
| Qdrant | 597.6ms | 682.0ms | 771.4ms | 596.5ms |
| ChromaDB | 351.8ms | 423.5ms | 538.5ms | 358.0ms |
Moss 的 P99 延迟(5.4ms)比 Pinecone 的 P50 延迟(432.6ms)还要快两个数量级。值得注意的是,Moss 在基准中已将 Embedding 时间纳入测量,而竞品使用了外部 Embedding 服务——这意味着实际生产环境中差距可能更大。
Moss 同时支持语义向量搜索和 BM25 关键词搜索,可在一个查询中组合使用,取长补短。对于品牌名、产品型号等精确匹配需求,关键词搜索效果更好;对于意图理解类查询,语义搜索更胜一筹。
Moss 绑定了轻量级 Embedding 模型 moss-minilm,开箱即用,无需接入 OpenAI / Cohere 等外部 Embedding API。同时也支持接入自定义 Embedding 服务,灵活性不受限制。
支持在查询时对文档元数据施加过滤条件,例如按文档类别、时间范围、来源数据库等进行精准筛选,满足生产级 RAG 场景的精细化检索需求。
@moss-dev/moss-web,可在浏览器内完成语义搜索,完全不依赖服务器Moss 提供专门的 data-connector 包,支持从 SQLite、MySQL、MongoDB、Supabase 等数据库直接抽取数据建立索引,无需手动 ETL,数据同步更便捷。
Moss SDK 遵循清晰的两层架构:
应用代码
↓
SDK 层(纯语言实现,开源)
└─ MossClient — 异步 API,管理索引和文档操作
└─ 与 Moss Cloud 通信处理变更和分发
↓
Native 绑定层(Rust 编写,预编译,随 SDK 包分发)
└─ ManageClient — 管理操作(创建/删除索引)
└─ IndexManager — 本地 Embedding + 检索
Python SDK(moss 包)的 MossClient 实际上是 moss_core(Rust 编译的 Python 扩展)的 Python 封装,所有核心计算都在 Rust 层完成,保证性能。TypeScript SDK(@moss-dev/moss)同理,@moss-dev/moss-core 是 Node.js 原生模块。
Python 依赖:httpx(异步 HTTP 客户端)+ inferedge-moss-core(Rust 扩展)+ typing-extensions。TypeScript SDK 为纯 ESM 模块,零外部运行时依赖。
Moss 不只是一个检索库,而是一个集成生态。仓库内置了 10+ 主流 AI 框架的集成示例,覆盖从 RAG 管道到多 Agent 协作的完整场景:
这些集成示例不是简单的 toy demo,很多是可直接部署到对应平台的完整应用。
Python(pip):
pip install moss
from moss import MossClient, QueryOptions
client = MossClient("your_project_id", "your_project_key")
await client.create_index("docs", [{"id": "1", "text": "如何申请退款?"}])
await client.load_index("docs")
results = await client.query("docs", "退款流程是什么?", QueryOptions(top_k=3))
TypeScript(npm):
npm install @moss-dev/moss
Next.js Web UI:
cd apps/next-js && npm install && npm run dev
cd apps/pipecat-moss/ollama-local
docker compose up
一个命令即可启动完整的本地语音 AI 助手:Ollama 提供本地 LLM 推理,Moss 提供本地检索,Pipecat 处理实时音频,三者完全离线运行,数据不出本地机器。
1. 云端凭证是必需的(但有免费层) 虽然 SDK 可以完全本地运行,但索引分发和项目管理依赖 Moss Cloud 服务。开发者必须注册 moss.dev 获取凭证。免费层额度足够小规模使用,但生产环境需要付费计划。
2. 索引规模受限于本地内存 Moss 本地运行时将整个索引加载到内存中。对于百万级文档的检索场景,内存占用可能成为瓶颈——这正是传统向量数据库分布式架构的优势所在。
3. 仍在 Beta 阶段 当前版本 1.0.0b19,生产环境使用需评估稳定性风险。
4. 生态积累较新 相比 Pinecone(2021年)、Qdrant(2021年)、ChromaDB(2022年)早起步的产品,Moss 的社区规模和案例积累尚浅,企业级支持能力有待验证。
Moss 的出现代表了一个趋势:AI 基础设施正在从"中心化数据库"向"嵌入式运行时"演进。过去三年,向量数据库是 RAG 场景的标准答案;Moss 则提出了另一种思路——与其优化网络延迟,不如把计算推进到数据侧。
这一方向与 WebAssembly 的"代码贴近数据"理念一脉相承,也与 Edge AI 的发展轨迹高度吻合。InferEdge 公司的命名本身就透露了这一取向(Inference + Edge)。
从 GitHub Star 增长来看(2025年10月上线,半年多时间达 429★),Moss 正在快速积累开发者关注。其 Voice AI 集成方向尤为值得关注——实时语音 Agent 是目前 AI 落地最热门的场景之一,而 <10ms 检索是这一场景的刚需。
总结: Moss 是一个专为 AI Agent 实时对话场景设计的嵌入式语义搜索运行时。通过将 Embedding 和检索下沉到应用进程内,实现了相比传统向量数据库两个数量级的延迟降低。其多语言 SDK(Python/TS/Elixir/C)、多端部署(云/本地/WASM)和丰富的框架集成生态,使其成为构建低延迟 AI Agent 的利器。适合对响应速度敏感的场景(语音助手、实时 Copilot、现场客服),对于超大规模索引(百万+文档)场景仍需评估内存约束。