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月前
|
人工智能 JSON 缓存
CrewAI 上手攻略:多 Agent 自动化处理复杂任务,让 AI 像员工一样分工协作
CrewAI 是一个基于 Python 的自主 AI 智能体编排框架,可构建“虚拟团队”协同完成复杂任务。通过定义角色明确的 Agents、任务流 Tasks、协作流程 Processes 及可用工具 Tools,实现研究、写作、开发等多环节自动化。适用于长链条工作流,如研报生成、竞品分析、软件开发等,支持异步执行、人工介入与结构化输出,集成主流大模型与工具生态,是处理复杂知识型任务的高效选择。(238 字)
536 0
CrewAI 上手攻略:多 Agent 自动化处理复杂任务,让 AI 像员工一样分工协作
|
3月前
|
Ubuntu 测试技术 数据处理
QF-Lib:用一个库搞定Python量化回测和策略开发
QF-Lib 是一个一体化的量化金融研究工具库,涵盖数据获取、策略回测、风险分析到报告生成全流程。支持多数据源接入与前瞻偏差防护,基于事件驱动架构,内置专业金融函数,模块化设计便于扩展,可快速搭建策略原型并自动生成PDF/Excel报告,提升量化研究效率。
552 3
QF-Lib:用一个库搞定Python量化回测和策略开发
|
4月前
|
数据采集 自然语言处理 供应链
LLM安全新威胁:为什么几百个毒样本就能破坏整个模型
数据投毒通过在训练数据中植入恶意样本,将后门永久嵌入大模型,仅需数百份毒样本即可触发数据泄露、越狱等行为,防御需结合溯源、聚类分析与自动化检测。
407 2
LLM安全新威胁:为什么几百个毒样本就能破坏整个模型
|
4月前
|
人工智能 监控 安全
人体姿态[站着、摔倒、坐、深蹲、跑]检测数据集(6000张图片已划分、已标注)| AI训练适用于目标检测
本数据集包含6000张已标注人体姿态图片,覆盖站着、摔倒、坐、深蹲、跑五类动作,按5:1划分训练集与验证集,标注格式兼容YOLO等主流框架,适用于跌倒检测、健身分析、安防监控等AI目标检测任务,开箱即用,助力模型快速训练与部署。
|
3月前
|
存储 人工智能 自然语言处理
HaluMem:揭示当前AI记忆系统的系统性缺陷,系统失效率超50%
AI记忆幻觉频发:刚升职就被遗忘,喜欢的书被记错。问题根源在于记忆系统“捏造、错误、冲突、遗漏”。新研究HaluMem首次实现操作级评估,揭示当前AI记忆提取与更新全面失效,为构建可信AI指明方向。
367 8
HaluMem:揭示当前AI记忆系统的系统性缺陷,系统失效率超50%
|
10月前
|
人工智能 自然语言处理 运维
让AI读懂K线图!ChatTS-14B:字节开源的时间序列理解和推理大模型,自然语言提问秒解趋势密码!
ChatTS-14B是字节跳动开源的时间序列专用大模型,基于Qwen2.5-14B微调优化,通过合成数据对齐技术显著提升分析能力,支持自然语言交互完成预测推理等复杂任务。
2248 1
让AI读懂K线图!ChatTS-14B:字节开源的时间序列理解和推理大模型,自然语言提问秒解趋势密码!
|
人工智能 Rust 开发者
【MCP教程系列】使用Python在阿里云百炼创建基于UVX的MCP服务完整指南
本文介绍如何使用基于uvx工具链的Python项目,结合阿里云百炼平台实现小红书文案审核助手的MCP服务开发与部署。首先通过安装uv工具初始化项目并配置虚拟环境,编写server.py文件调用qwen-plus模型完成内容审核功能。随后将项目打包上传至PyPI,供全球开发者访问。接着在阿里云百炼平台上配置并部署该MCP服务,解决可能的依赖问题。最后,在智能体应用中引入此MCP服务进行测试验证,确保其正常运行。
3535 0
|
4月前
|
存储 自然语言处理 测试技术
开源嵌入模型对比:让你的RAG检索又快又准
嵌入是RAG系统的核心,将文本转化为语义向量,实现基于含义的检索。本文详解嵌入原理、关键参数及主流开源模型,助你根据分块大小、语言需求和性能约束,选择最合适的嵌入方案,提升RAG效果。
1190 4
开源嵌入模型对比:让你的RAG检索又快又准