LEANN:一个极简的本地向量数据库

简介: LEANN是面向RAG的轻量级嵌入式向量数据库,如SQLite般无需服务依赖,可在本地运行。它通过图结构与选择性重计算,节省97%存储且不损精度,让笔记本也能高效检索百万文档,兼顾隐私与性能,堪称个人AI搜索引擎。

在软件开发领域,提到轻量级、嵌入式的本地数据库,我们首先会想到 SQLite,它快速且无需独立服务进程。现在检索增强生成(RAG)和向量数据库的世界里,一个定位相似的新工具出现了。你可以把LEANN看作是嵌入式、轻量级的向量数据库。它完全不需要依赖庞大的数据中心或者 GPU 集群。一个个人专属的 RAG 引擎,它能完全放在你的笔记本电脑里,可以索引和搜索数百万份文档,而且最不可思议的是,它比常规向量数据库少用了 97% 的存储空间,而且**准确性还没有任何损失。

LEANN 的核心技术差异

传统的向量数据库简直就是存储“巨兽”。它们为每一个文档都预先计算好嵌入(Embeddings)并全部存储下来,磁盘空间很快就会被塞满。LEANN则不一样:

它压根儿不存储所有嵌入,而是采用一种基于图的选择性重计算方法,并辅以高保留度的修剪(Pruning)。这几个术语听起来有点花哨,但核心思想很简单:只在真正需要时,才去计算必需的数据

LEANN 不是一个嵌入数据的“囤积者”,它会按需重新计算嵌入,并通过一个非常轻量级的图结构将它们智能地连接起来。这让存储用量大幅下降,而图结构则确保了语义相似性和检索准确性得以完整保留。

为什么这项技术值得关注

有了 LEANN,你的笔记本电脑瞬间就能变身成一个个人 AI 搜索引擎。所有这些功能都在本地跑起来没有一分钱的云服务开销隐私也得到了绝对保障

如果你使用 Claude Code,应该知道它目前的搜索能力只停留在基本的关键词匹配。LEANN 可以无缝接入,作为 MCP(Model Context Protocol)服务,为你的模型增加真正的语义检索能力,让你搜索的是“意义”,而不是单纯的“词语”。而且整个过程中你都不需要改变原有的工作流程。

机制解析

LEANN 之所以强大,关键在于它修剪掉了大量的“赘肉”

  • 基于图的重计算从根本上消除了对大型嵌入仓库的需求。
  • 使用 CSR(Compressed Sparse Row,压缩稀疏行)格式修剪的图,显著降低了存储的额外开销。
  • 智能缓存与重计算逻辑在检索速度和磁盘使用之间找到了一个绝佳的平衡点。

这些优化结合起来创造了一个既轻量又具备可扩展性的系统。这是一个能装进你笔记本电脑、却能处理数百万记录的数据库。

快速上手

上手 LEANN 非常简单,代码如下:

#git clone https://github.com/yichuan-w/LEANN.git leann  
#cd leann  
#uv pip install leann  

from leann import LeannBuilder, LeannSearcher, LeannChat  
from pathlib import Path  
INDEX_PATH = str(Path("./").resolve() / "demo.leann")  

# Build an index  
builder = LeannBuilder(backend_name="hnsw")  
builder.add_text("LEANN saves 97% storage compared to traditional vector databases.")  
builder.add_text("Tung Tung Tung Sahur called—they need their banana‑crocodile hybrid back")  
builder.build_index(INDEX_PATH)  

# Search  
searcher = LeannSearcher(INDEX_PATH)  
results = searcher.search("fantastical AI-generated creatures", top_k=1)  

# Chat with your data  
chat = LeannChat(INDEX_PATH, llm_config={"type": "hf", "model": "Qwen/Qwen3-0.6B"})  
response = chat.ask("How much storage does LEANN save?", top_k=1)

总结

LEANN 的出现,标志着向量数据库领域正在迎来自己的 SQLite 时刻。SQLite 的成功在于它提供了轻量级、零配置、无服务器的本地数据管理能力,它让应用开发者可以轻松地在边缘设备、桌面应用中嵌入强大的 SQL 能力。

LEANN 也在做同样的事情,但它针对的是 RAG 和语义搜索能力。它能够将数百万条嵌入向量存放在本地文件中还能快速检索,对于那些需要构建离线应用、移动端 AI 功能或纯粹关注个人数据隐私的开发者而言,LEANN 提供了一种开箱即用的、极度高效的解决方案。所以有兴趣的赶紧试试吧。
https://avoid.overfit.cn/post/1b13106d6d7a46f2adebc33bc49ff8d8

目录
相关文章
|
3月前
|
存储 人工智能 运维
向量数据库实战指南:从部署到RAG落地
本文以轻量开源向量数据库Chroma为例,手把手带你完成环境部署、数据导入、相似性检索到RAG集成的全流程实战,避开新手常见坑,适配码农与大数据爱好者快速落地AI应用,助力掌握向量数据库核心技能。
|
2月前
|
存储 API 数据库
投稿 | Zvec: 开箱即用、高性能的嵌入式向量数据库
Zvec 是一款开源(Apache 2.0)轻量级嵌入式向量数据库,专为终端侧设计,具备开箱即用、资源可控、极致性能与完整向量能力四大优势,支持标量-向量混合查询、CRUD、崩溃恢复等生产级特性,让端侧RAG如SQLite般简单可靠。(239字)
542 7
|
5月前
|
人工智能 JSON 缓存
CrewAI 上手攻略:多 Agent 自动化处理复杂任务,让 AI 像员工一样分工协作
CrewAI 是一个基于 Python 的自主 AI 智能体编排框架,可构建“虚拟团队”协同完成复杂任务。通过定义角色明确的 Agents、任务流 Tasks、协作流程 Processes 及可用工具 Tools,实现研究、写作、开发等多环节自动化。适用于长链条工作流,如研报生成、竞品分析、软件开发等,支持异步执行、人工介入与结构化输出,集成主流大模型与工具生态,是处理复杂知识型任务的高效选择。(238 字)
1025 0
CrewAI 上手攻略:多 Agent 自动化处理复杂任务,让 AI 像员工一样分工协作
|
Java 数据库连接 Maven
使用mybatis插件generator生成实体类,dao层和mapper映射
使用mybatis插件generator生成实体类,dao层和mapper映射
1597 0
|
23天前
|
人工智能 Linux API
OpenClaw 知识库搭建攻略:QMD/向量库/知识图谱三方案+阿里云+本地部署+千问/Coding Plan配置
随着OpenClaw V2026.3.22模块化框架正式成熟,本地知识库与RAG能力已经成为AI智能体从“简单对话”走向“专业可靠”的关键分水岭。单纯依靠大模型上下文已经无法满足长期使用、专业问答、资料检索、低Token消耗的需求。
1695 1
|
6月前
|
人工智能 监控 Java
构建定时 Agent,基于 Spring AI Alibaba 实现自主运行的人机协同智能 Agent
借助 Spring AI Alibaba 框架,开发者可快速实现定制化自动定时运行的 Agent,构建数据采集、智能分析到人工参与决策的全流程AI业务应用。
2204 87
|
5月前
|
Ubuntu 测试技术 数据处理
QF-Lib:用一个库搞定Python量化回测和策略开发
QF-Lib 是一个一体化的量化金融研究工具库,涵盖数据获取、策略回测、风险分析到报告生成全流程。支持多数据源接入与前瞻偏差防护,基于事件驱动架构,内置专业金融函数,模块化设计便于扩展,可快速搭建策略原型并自动生成PDF/Excel报告,提升量化研究效率。
919 3
QF-Lib:用一个库搞定Python量化回测和策略开发
|
3月前
|
机器学习/深度学习 存储 编解码
神经辐射场NeRF入门:3D视图合成的原理与PyTorch代码实现
NeRF(神经辐射场)用多层感知机将5D坐标(位置+视角)映射为颜色和密度,通过过拟合单个场景实现高质量新视角合成。结合位置编码与体积渲染,以隐式方式表征三维场景,仅需少量图像即可重建精细结构。
419 3
神经辐射场NeRF入门:3D视图合成的原理与PyTorch代码实现
|
3月前
|
机器学习/深度学习 人工智能 算法
告别关键词搜索:手把手教你用向量数据库,解锁大模型的“最新”知识
本文用通俗语言详解向量数据库原理与实践:它通过“语义向量化”实现按意思而非关键词检索,是RAG系统中连接大模型与私有数据的核心“外挂大脑”。附Faiss+Sentence-Transformers实战Demo,10分钟搭建可运行的语义检索系统。(239字)
544 0

热门文章

最新文章

下一篇
开通oss服务