@topk_io: https://x.com/topk_io/status/2065172828161200563

X AI KOLs Timeline 工具

摘要

TopK 推出了 semantic_index,这是一种单一的 schema 注解,抽象了生产系统中多向量检索的复杂性,实现了亚秒级延迟和高吞吐量的最先进性能。

https://t.co/llH9M5Iotx
查看原文
查看缓存全文

缓存时间: 2026/06/12 08:59

semantic_index: 多向量检索,开箱即用

最先进的检索质量通常伴随着一些代价。你从一个嵌入管道、一个向量数据库开始,加上基于RRF的混合搜索,也许再配合一个重排序器。但生产级别的搜索系统并不会孤立地运行在笔记本中。它们是一个分布式系统,对可靠性和延迟有预算、有持续写入、严格的新鲜度要求、高QPS读取、过滤、权限管理,还有很多其他要求。

因此,我们构建了 semantic_index —— 一个简单的 schema 注解,它抽象了这种复杂性,并实现了可用于生产环境的、最先进的检索能力。电池已包含在内。

from topk_sdk.schema import text, semantic_index

client.collections().create(
    "docs",
    schema = {
        "text": text().index(semantic_index())
    }
)

这就是完整的配置。没有嵌入管道,没有单独的向量存储,也没有重排序服务。在底层,semantic_index 由 Iso-ModernColBERT(我们的多向量嵌入模型)和稀疏多向量编码(SMVE)驱动,这使得延迟交互(late interaction)能够扩展到数十亿个文档,同时支持过滤和在线索引更新。

为什么是多向量?

单向量(稠密)嵌入将整个文档压缩为高维空间中的一个点。这在你的查询变得具体时就会失效,例如合同中的某个条款、财务表格中的一行、或程序中的某个步骤。延迟交互模型为每个 token 保留一个嵌入,并在 token 粒度上进行匹配,这就是为什么它们在域外和长上下文检索中持续优于稠密模型。

问题从来不是质量,而是成本和操作复杂性。多向量索引要大一个数量级,精确的 MaxSim 评分计算成本高昂。TopK 通过使用快速稀疏近似识别一个小的候选集,然后使用量化 MaxSim 重排序将其精炼为最终的 top-k 结果,从而解决了这个问题。

性能

  • 每秒处理 15 亿+ token —— 嵌入并索引,索引延迟低于一秒。你的文档在写入后立即可被搜索。

  • 在 BEIR 上达到 295 QPS,p99 延迟约 75ms —— 高质量搜索,无需牺牲性能。

  • 在 BEIR 上 nDCG@10 达到 52.88% —— 端到端,在实时系统上评估,而非仅对模型进行离线评估。

  • 在 ViDoRe v3 上召回率和 nDCG@10 提升约 30% —— 相比大 80 倍的 Qwen3-VL-Embedding-8B 模型,性能更优。

  • 在 BrowseComp-Plus 上准确率达到 80.48% —— 在前五名的研究型 agent 中,无需复杂的搜索管道。

BEIR:基线

大多数检索基准只评估模型本身。我们测量了整个系统端到端的性能——包括文档摄入、嵌入推理、索引以及在我们生产集群上的并发查询。在所有 15 个 BEIR 数据集上,semantic_index 的平均 nDCG@10 为 52.88%,仅比使用精确 MaxSim 的基础模型低约 1%。

在性能方面,每个数据集都超过了 175 QPS,较小的语料库甚至超过了 390 QPS,p99 延迟保持在 50ms 到 125ms 之间,索引延迟低于一秒。你的文档在写入后立即可被搜索,这对于 agent 使用场景来说变得越来越重要。

ViDoRe V3:企业级检索

BEIR 是纯文本的。企业级检索包含复杂的 PDF、表格、幻灯片和多语言文档,这正是 token 级匹配胜过稠密嵌入的地方。我们将 semantic_index 与 Qwen3-VL-Embedding-8B(一个比我们大 80 倍 的最先进稠密嵌入模型)进行了比较。

平均 召回率提升 34%nDCG@10 提升 30%。在工业文档上,召回率从 42.05% 跃升至 75.97%(提升 81%)。金融(英文)从 58.90% 提升至 80.91%。制药从 60.16% 提升至 83.52%。没有哪个领域是 80 亿稠密模型获胜的。

BrowseComp-Plus:Agent 搜索

检索越来越多地被 agent 而非人类使用。我们将 semantic_index 作为检索器接入 agent 研究循环中,用于 BrowseComp-Plus。使用默认 harness 的 gpt-5 agent 实现了 80.48% 的准确率77.82% 的召回率,目前在总排行榜上位列前五(截至 2026 年 6 月 11 日)。

该 agent 每个任务平均进行约 14 次搜索调用,引用准确率为 88.54%,这表明检索器能够足够早地呈现正确的文档,让 agent 在不浪费 token 的情况下进行推理。

立即尝试

以上所有功能——多向量嵌入推理、基于量化 MaxSim 重排序的检索、在线索引更新以及过滤——现在都可以通过简单、高级的抽象来使用。

from topk_sdk.schema import text, semantic_index
from topk_sdk.query import select, field, fn

# 创建带有 semantic_index 的集合
client.collections().create(
    "docs",
    schema={
        "text": text().index(semantic_index()),
    },
)

# 插入文档
client.collection("docs").upsert([
    {"_id": "doc-1", "text": "..."},
    {"_id": "doc-2", "text": "..."},
])

# 使用 semantic_similarity 进行 MaxSim 评分查询
docs = client.collection("docs").query(
    select(
        "text",
        score=fn.semantic_similarity(
            "text",
            "查询字符串"
        ),
    )
    .top_k(field("score"), 10)
)

🚀 开始使用:console.topk.io
📚 文档:docs.topk.io/guides/semantic-search

相似文章

@hasantoxr:向量数据库不再是云产品。它们正在变成 pip install。一个名为 turbovec 的新开源项目……

X AI KOLs Timeline

一个名为 turbovec 的开源项目在 GitHub 上获得了 1 万星标。它是一个基于 Rust、带有 Python 绑定的向量索引,使用谷歌研究的 TurboQuant 算法将嵌入压缩到接近理论香农极限,使得完全本地的 RAG(检索增强生成)成为可能——1000 万文档仅需 4 GB RAM,且搜索速度快于 FAISS。