lightonai/next-plaid

NextPlaid, ColGREP: Multi-vector search, from database to coding agents.

解决的问题

NextPlaid 和 ColGREP 解决了标准向量搜索的局限性,即会将整个文档压缩为单一嵌入。这种“有损”方法在源代码等复杂数据中经常失败,因为关键细节(参数、文档字符串、控制流)会丢失。NextPlaid 提供了一个高性能的多向量数据库以保留这些细节,而 ColGREP 则利用该技术创建了一个面向开发人员和 AI 代理的本地化语义代码搜索工具。

工作原理

NextPlaid 采用多向量方法(类似于 ColBERT),将每个文档表示为多个嵌入而非单一嵌入。为了实现可扩展性,它使用产品量化(2位或4位压缩)和内存映射索引,以保持低内存占用。它内置 ONNX Runtime 用于服务器端编码,并使用 SQLite 进行元数据预过滤。

ColGREP 利用 NextPlaid 对代码库进行索引。它使用 Tree-sitter 将代码解析为结构化表示(提取签名、调用和文档字符串),然后使用类似 ColBERT 的模型进行嵌入。这使得用户可以在本地 CPU 上运行语义搜索并结合正则表达式过滤。

适用人群

  • 开发者:希望以快速、本地化且保护隐私的方式语义搜索代码库的开发者。
  • AI 代理创建者:需要为编码代理(如 Claude Code)提供高精度检索工具的开发者。
  • 机器学习工程师:寻找通用、本地优先的多向量数据库用于检索工作负载的工程师。

特色亮点

  • 本地优先执行:ColGREP 是一个单一的 Rust 可执行文件;代码永远不会离开机器。
  • 多向量精度:每个文档保留多个嵌入,避免信息丢失。
  • 混合搜索:结合语义排序与正则表达式过滤。
  • 高效存储:使用产品量化和内存映射,可在内存中容纳数百万文档。
  • 代理就绪:内置对 Claude Code、OpenCode 和 Codex 等代理的安装钩子。
  • CPU 优化:专为 CPU 高性能设计,支持可选 CUDA 加速。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目