Witchcraft:基于SQLite的快速本地语义搜索 [P]
摘要
Witchcraft 是一个用 Rust 对斯坦福大学 XTR-Warp 语义搜索引擎进行的开源重新实现,使用 SQLite 实现快速本地搜索。它包含 Pickbrain CLI,用于索引代码会话记录,并为 AI 代理配备全局记忆。
**Witchcraft (https://github.com/dropbox/witchcraft)** 是我在 Dropbox 构建的一个开源项目,它用安全 Rust 语言从零重新实现了斯坦福大学的 XTR-Warp 语义搜索引擎( [https://github.com/jlscheerer/xtr-warp](https://github.com/jlscheerer/xtr-warp) ),使用单文件 SQLite 数据库作为后端存储,使其适用于客户端部署。它完全独立运行在你的设备上,无需 API 密钥、无需向量数据库、无需分块策略、无需花哨的重排序器,并且速度极快(在 Apple Macbook Pro M2 Max 上,对 NFCorpus 数据集,端到端搜索延迟 95 分位值为 20 毫秒,NDCG@10 为 33%,比原始 XTR-WARP 在服务器级硬件上快两倍以上,精度相近)。该项目还包含 **Pickbrain**,一个 CLI 工具,用于将你的 Claude Code 和 OpenAI Codex 会话记录、记忆文件以及撰写的文档索引到 Witchcraft 数据库中,实现快速语义搜索。你是否曾想过“修复 auth 中间件的那段对话是什么?”—— pickbrain 能找到它,并让你直接恢复该会话。此外,还为 Claude 和 Codex 提供了一个 /pickbrain 技能,能为这些工具配备跨所有会话的全局记忆。你可以直接从命令行使用 pickbrain,例如重新发现之前的代理会话并直接恢复,或者让你的代理通过提供的技能调用它,例如“使用 /pickbrain 查阅我们之前在 XTR 令牌掩码训练方面的努力”,从而轻松地将之前的上下文填入新会话。
相似文章
重新思考 Search as Code Generation (25分钟阅读)
Perplexity 引入了 Search as Code (SaC),这是一种新的架构,它将搜索原语原子化,供AI代理通过代码组合,超越了传统的单体搜索管道,实现了对检索的细粒度控制。
@techwith_ram:一个1000万文档的语料库以float32格式占用31GB内存。大多数团队遇到这一瓶颈后会转向托管向量数据库。每月400美元……
turbovec 是一个开源的 Rust 向量索引,使用 Google Research 的 TurboQuant 算法,实现了16倍压缩,搜索速度比 FAISS 更快,并且集成了 LangChain、LlamaIndex 和 Haystack 等 RAG 框架。
我用Rust构建了一个用于智能体跟踪的数据库(10亿行数据P95低于1毫秒)
ZenithDB是一款新的开源Rust数据库,专为存储和查询AI智能体跟踪而设计。通过在压缩过程中将同一跟踪的所有跨度放在同一个位置,它在10亿行数据上实现了亚毫秒级的跟踪获取延迟,并内置了全文搜索和延迟物化功能。
Sage 发布!本地AI推理引擎
Sage 是一款用Rust构建的本地AI推理引擎,完全在用户本机上运行,具备内核级沙箱安全,无遥测,无云依赖。
我们尝试了向量、抽象语法树(AST)以及粗暴地堆砌上下文以进行代码检索。带有大语言模型(LLM)生成语义的图结构效果最佳。以下是我们的经验总结。
作者们详细描述了他们在构建代码索引系统的经验,最终得出结论:使用大语言模型(LLM)生成语义的图检索方式在性能上优于向量嵌入和纯抽象语法树(AST)解析。他们将该系统开源,命名为 Bytebell,它利用 Neo4j 存储语义上下文,以实现高效且精确的代码检索。