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

目录
相关文章
|
2月前
|
存储 人工智能 运维
向量数据库实战指南:从部署到RAG落地
本文以轻量开源向量数据库Chroma为例,手把手带你完成环境部署、数据导入、相似性检索到RAG集成的全流程实战,避开新手常见坑,适配码农与大数据爱好者快速落地AI应用,助力掌握向量数据库核心技能。
|
4月前
|
人工智能 JSON 缓存
CrewAI 上手攻略:多 Agent 自动化处理复杂任务,让 AI 像员工一样分工协作
CrewAI 是一个基于 Python 的自主 AI 智能体编排框架,可构建“虚拟团队”协同完成复杂任务。通过定义角色明确的 Agents、任务流 Tasks、协作流程 Processes 及可用工具 Tools,实现研究、写作、开发等多环节自动化。适用于长链条工作流,如研报生成、竞品分析、软件开发等,支持异步执行、人工介入与结构化输出,集成主流大模型与工具生态,是处理复杂知识型任务的高效选择。(238 字)
687 0
CrewAI 上手攻略:多 Agent 自动化处理复杂任务,让 AI 像员工一样分工协作
|
4月前
|
Ubuntu 测试技术 数据处理
QF-Lib:用一个库搞定Python量化回测和策略开发
QF-Lib 是一个一体化的量化金融研究工具库,涵盖数据获取、策略回测、风险分析到报告生成全流程。支持多数据源接入与前瞻偏差防护,基于事件驱动架构,内置专业金融函数,模块化设计便于扩展,可快速搭建策略原型并自动生成PDF/Excel报告,提升量化研究效率。
639 3
QF-Lib:用一个库搞定Python量化回测和策略开发
|
Java 数据库连接 Maven
使用mybatis插件generator生成实体类,dao层和mapper映射
使用mybatis插件generator生成实体类,dao层和mapper映射
1474 0
|
6天前
|
人工智能 API
必看!阿里云百炼Coding Plan是什么?Lite和Pro订阅套餐最低7.9元首月攻略
阿里云百炼Coding Plan是AI编程订阅服务,含Lite(首月7.9元)和Pro(首月39.9元)两档,提供Qwen3.5/3-max/3-coder、Kimi K2.5、GLM-4.7等模型调用额度,支持Qwen Code等工具,一账号一订阅,购后获API Key即用。
|
1月前
|
人工智能 NoSQL Redis
LangGraph 入门:用图结构构建你的第一个多智能体工作流
LangGraph 是面向多智能体系统的图编排框架,以有向状态图替代线性链式调用。通过节点(智能体)、边(条件/静态跳转)和类型化共享状态三者解耦,天然支持分支、循环、并行与汇合;内置检查点、原子状态更新与Reducer机制,保障一致性、可调试性与容错恢复能力。
758 0
|
5月前
|
人工智能 监控 Java
构建定时 Agent,基于 Spring AI Alibaba 实现自主运行的人机协同智能 Agent
借助 Spring AI Alibaba 框架,开发者可快速实现定制化自动定时运行的 Agent,构建数据采集、智能分析到人工参与决策的全流程AI业务应用。
1690 71
|
5月前
|
数据采集 自然语言处理 供应链
LLM安全新威胁:为什么几百个毒样本就能破坏整个模型
数据投毒通过在训练数据中植入恶意样本,将后门永久嵌入大模型,仅需数百份毒样本即可触发数据泄露、越狱等行为,防御需结合溯源、聚类分析与自动化检测。
483 2
LLM安全新威胁:为什么几百个毒样本就能破坏整个模型