用 SQLite 和 SIMD 超向量在 1.2GB 显存以内取代向量数据库(Hillock)

Reddit r/LocalLLaMA 工具

摘要

Hillock 0.8 是一个开源工具,通过 SQLite 关系事实和 10,000 维位打包超向量(hypervector),配合 SIMD/popcount 门控机制,在 1.2GB 显存以内取代向量数据库实现本地 RAG,在 token 生成之前拦截幻觉答案。

免责声明:我是本项目的作者。经过几天的潜水和积累足够 karma 后,我终于可以在这里发帖了。每次我尝试在自己的机器上运行本地 RAG 时,都会遇到完全相同的瓶颈。第一,为了切分和解析文档,光是启动 Chroma 或其他向量数据库,再加上一个 8B 模型,就会占用大量本该留给主模型的宝贵显存。第二,在文本块上计算余弦相似度经常无法有效拒绝难负样本,导致模型试图回答你的文件中根本不存在的问题,并且充满自信地产生幻觉。过去几个月里,我一直在开发一个名为 Hillock 的开源项目,看看能否在不用向量数据库的情况下解决这个问题。它通过轻量级双编码器在大约五秒内将干净的关系事实提取到 SQLite 中,在摄取阶段完全绕过生成式 LLM。为了阻止幻觉,查询会经过一个 10,000 维超向量门控层,使用后期交互(late interaction)打分机制。如果事实图在数学上与问题没有重叠,它会在 token 生成开始之前就阻止 LLM 调用。我刚刚推送了 0.8 版本,该版本将超向量按位打包到 157 个 uint64 整数中,使 CPU 能够利用硬件 popcount 指令在 0.01 毫秒以内完成门控检查。它还包含一个 OpenAI 兼容的 API 服务器,你可以直接接入 Open WebUI、AnythingLLM 或 Obsidian。它最近也已上架 PyPI,可通过 pip install hillock 安装。说实话,这个管线的取舍在于:它是为结构化、关系型事实(如技术规格、人物和日期)而设计的。它在精确率上大幅偏向于召回率,因此无法像 70B 模型那样生成宽泛的诗意或叙事性摘要。代码在 GitHub 上:https://github.com/roandejager/Hillock 我们还搭建了文档站:https://hillock.mintlify.site 以及开发者 Discord:https://discord.gg/BGUPNBcVdp
查看原文

相似文章

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

X AI KOLs Timeline

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