LEANN:改变个人AI存储和访问方式的创新应用
LEANN(Low-storage Embedding ANnounceable Network)是一款创新的向量数据库,旨在以超高效的方式处理个人AI应用。它能在您的个人设备上搭建起一个强大的RAG(Retrieval-Augmented Generation)系统,能够索引并搜索数百万份文档,且所需的存储空间比传统方案减少97%,而不损失任何精度。
这些成就得益于其基于图的选择性重计算和高维度保留修剪技术,使得LEANN能够按需计算嵌入,而不需要存储所有嵌入。
为何选择LEANN?
极高的存储效率:与传统向量数据库相比,LEANN能够以更少的存储空间处理海量数据。例如,使用LEANN处理6000万个文本片段只需6GB存储,而传统方案则需要高达201GB。
隐私保护:LEANN的运行完全在本地进行,数据从不上传到云端,确保您的信息私密和安全。
轻量化设计:通过图形重计算的实现,LEANN减少了大型嵌入存储的需求,减少了内存占用。
便携性:您可以轻松在设备间转移个人知识库,实现数据的无缝使用。
无精度损失:在确保存储极具高效的同时,LEANN依然保持着出色的搜索精度。
安装LEANN
在开始使用LEANN之前,您需要先安装uv。可以通过下列命令快速安装:
curl-LsSf https://astral.sh/uv/install.sh|sh接下来,您可以克隆LEANN的代码库并进行安装:
gitclone https://github.com/yichuan-w/LEANN.git leanncdleann uv venvsource.venv/bin/activate uv pipinstallleann快速入门示例
使用LEANN构建索引和搜索是非常简便的。以下是一个简单的示例:
fromleannimportLeannBuilder,LeannSearcherfrompathlibimportPath INDEX_PATH=str(Path("./").resolve()/"demo.leann")# 创建索引builder=LeannBuilder(backend_name="hnsw")builder.add_text("LEANN saves 97% storage compared to traditional vector databases.")builder.build_index(INDEX_PATH)# 搜索searcher=LeannSearcher(INDEX_PATH)results=searcher.search("fantastical AI-generated creatures",top_k=1)print(f"Search Result:{results}")支持的RAG数据源
LEANN能够对许多数据源进行RAG处理,包括:
- 各类文档(如
.pdf、.txt、.md) - Apple Mail、Google搜索历史
- WeChat、ChatGPT对话记录、Claude对话记录
- Slack、Twitter等平台的实时数据
文档处理案例
处理个人文档
使用LEANN处理您的PDF或文本文件非常简单。您只需要运行以下命令:python -m apps.document_rag --query"本论文探讨了LEANN的主要技术"邮件管理助手
LEANN还支持对Apple Mail的RAG处理,帮助您快速找到所需的邮件信息:python -m apps.email_rag --query"我订购的食物有哪些?"浏览器历史检索
LEANN可以索引您的Chrome浏览器历史记录,轻松查询:python -m apps.browser_rag --query"我访问过关于机器学习的网站是哪些?"WeChat消息检索
使用LEANN,您可以检索您的WeChat聊天记录,寻找珍贵的回忆:python -m apps.wechat_rag --query"周末计划的群聊记录"
通过MCP实现实时数据访问
LEANN能通过模型上下文协议(MCP)与Slack、Twitter等平台进行实时连接。这使得用户能够获取实时数据而无需手动导出,提高了使用的便捷性和实时性。
命令行接口
LEANN还提供了强大的命令行接口,方便快速文档索引和搜索。以下是几个基本用法示例:
构建索引:
leann build my-docs --docs ./your_documents搜索文档:
leann search my-docs"机器学习概念"与文档进行交互式对话:
leann ask my-docs --interactive
高级功能
LEANN提供丰富的高级功能,例如:
- 元数据过滤:通过元数据来进行复杂的文档筛选。
- Grep搜索:支持精确文本匹配,适用于代码模式和错误信息等场景。
架构与工作原理
LEANN的架构采用了图形化的选择性重计算技术,能高效地索引和搜索数据,大幅降低存储需求,同时保持高效的查询性能。
同类项目比较
在功能和特点上,与LEANN相似的项目还有:
- FAISS: 提供高效的相似性搜索和密集向量检索,但在存储效率上不如LEANN。
- Milvus:旨在处理大规模的向量数据,支持多种机器学习框架,是一个功能强大但部署复杂的解决方案。
- Pinecone:云端向量数据库,提供高效的AI搜索服务,支持实时更新,但需要依赖于网络环境且费用较高。
LEANN的优势在于其高效的存储方式和完全的本地化运行,适合用户更好地保护个人隐私。同时,强大的RAG功能使得其在处理个人数据和实时数据访问上表现出色,成为个人AI助手的优秀选择。