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 加速。
相关
- 项目
- 项目
- 项目
- 项目
- 项目