ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

LEANN 零基础上手:6GB 存储装下 6000 万文档的本地 RAG 语义检索

LEANN 零基础上手:6GB 存储装下 6000 万文档的本地 RAG 语义检索 LEANN 零基础上手6GB 存储装下 6000 万文档的本地 RAG 语义检索【免费下载链接】LEANN[MLsys2026 Best Paper]: https://arxiv.org/abs/2506.08276. RAG on Everything with LEANN. Enjoy 97% storage savings while running a fast, accurate, and 100% private RAG application on your personal device.项目地址: https://gitcode.com/GitHub_Trending/le/LEANNLEANN 是一个低存储的本地 RAG 语义检索工具给文档、邮件、浏览器历史和聊天记录建立向量索引数据全程留在自己的设备上存储比传统向量数据库节省约 97%。本文带你从安装试用走到接入实时数据源并附上常见问题的处理方式。它解决什么问题201GB 的索引装不下6GB 可以传统向量数据库会把每条文本块的 embedding 全部存下来。6000 万个文本块对应约 201GB 向量一台普通笔记本根本放不下而邮件、聊天记录这类数据量一上来传统方案就彻底不可行。另一层顾虑是隐私把私人邮件和聊天记录交给云端检索服务意味着数据要出设备。LEANN 的做法是离线阶段只保存一张经过剪枝的图结构不存完整 embedding查询时沿图搜索、按需重算 embedding。索引体积因此缩小近两个数量级检索质量基本不变。官方在不同数据规模下的实测对比数据规模传统向量数据库LEANN节省6000 万 wiki 文本块201 GB6 GB97%78 万邮件块2.4 GB79 MB97%40 万聊天消息1.8 GB64 MB97%3.8 万浏览器记录130 MB6.4 MB95%安装与试用4 条命令跑通文档语义搜索环境要求很简单Python 3.10 以上系统支持 macOSIntel/ARM、Ubuntu/Arch/WSL 和 Windows。先用包管理器 uv 管理依赖整个过程不需要额外服务。git clone https://gitcode.com/GitHub_Trending/le/LEANN leann—— 拉取仓库包含全部示例应用。uv venv source .venv/bin/activateWindows 用uv venv .venv\Scripts\activate—— 创建并激活虚拟环境。uv pip install leann—— 从 PyPI 安装核心包。python -m apps.document_rag --query What are the main techniques LEANN explores?—— 对仓库自带的data/示例数据目录建索引并提问验证整条链路。跑通第 4 条后你可以继续追问。所有示例应用都支持交互模式不带--query参数运行就进入连续问答输入quit退出。生成模型怎么选leann ask类问答需要一个 LLM 后端两条路线云端 OpenAI 兼容 API设置OPENAI_API_KEY环境变量用--llm openai指定配置最快注意数据会经过云端。本地 Ollamaollama pull llama3.2:1b拉取一个轻量模型配--llm ollama --llm-model llama3.2:1b全程不出设备适合隐私敏感场景。功能演示 1对整个文档目录做语义问答它能做什么对.pdf、.txt、.md等文档含代码文件建索引之后用自然语言提问回答基于你自己的文件内容。怎么操作把--data-dir指向你的目录即可例如对论文目录用更大的分块python -m apps.document_rag --data-dir ~/Documents/Papers --chunk-size 1024常用参数参数名作用 调整建议--data-dir要索引的目录默认是data/建议先用小目录验证效果再换大目录。--chunk-size文本块长度默认 256学术论文、长文档调到 512~1024避免段落被切碎。--file-types按扩展名过滤如--file-types .md .py只索引需要的文件类型。--enable-code-chunking开启 AST 感知的代码分块按函数、类边界切分 Python/Java/C#/TypeScript适合代码库详见 AST 分块指南。--max-items限制处理数量首次试跑建议设 100快速验证再放全量。功能演示 2邮件、浏览器、聊天、AI 对话四类数据统一检索除文档外apps/目录下为常见个人数据源各准备了一个开箱即用的示例命令形式一致python -m apps.源_rag --query 你的问题。数据源示例应用官方示例规模与索引体积平台/前置条件Apple Mail 邮件python -m apps.email_rag78 万邮件块 → 79 MBmacOS需给终端授予完全磁盘访问权限Chrome 浏览历史python -m apps.browser_rag3.8 万条 → 6.4 MBmacOS/Linux默认自动定位 Chrome 配置目录微信聊天记录python -m apps.wechat_rag40 万条消息 → 64 MB先安装wechat-tweak-cli导出工具见 apps/wechat-exporter/ChatGPT / Claude 导出python -m apps.chatgpt_rag/python -m apps.claude_rag支持 .html/.zip/.json 导出文件先在对应平台设置里导出数据iMessage 记录python -m apps.imessage_rag直接读取本地chat.dbmacOS需完全磁盘访问权限使用建议聊天类数据语言混合时换用多语言 embedding 模型如--embedding-model Qwen/Qwen3-Embedding-0.6B检索质量更稳。数据量大的源微信、邮件先加--max-items 100试跑确认效果再建全量索引。导出类数据源ChatGPT、Claude、Twitter走手动导出 离线索引路线一次导出即可反复查询不依赖网络。进阶玩法MCP 实时数据源与 Claude Code 语义搜索检索 Slack、Twitter 等实时数据对不能一次性导出的在线数据LEANN 通过 MCPModel Context Protocol服务器拉取并建索引无需手动导出文件。以 Slack 为例python -m apps.slack_rag --mcp-server slack-mcp-server --workspace-name my-team --channels general dev-team --query What did we decide about the product launch?这条命令连接 Slack MCP 服务器、索引指定频道并直接提问。关键参数--mcp-server指定 MCP 服务器启动命令--channels限定要索引的频道--max-messages-per-channel限制每频道消息数默认 100。先跑一遍带--test-connection的版本确认连通Slack 应用的授权配置细节见 Slack 配置指南。索引建好后还能脱离 MCP 应用直接用 CLI 复用leann search slack_messages 项目截止日或leann ask slack_messages ……。Twitter 书签的接法同理python -m apps.twitter_rag其他平台只要找到对应 MCP 服务器即可按 apps/slack_data/slack_mcp_reader.py 的模式扩展。给 Claude Code 加一个语义搜索工具Claude Code 自带的代码检索是关键词式的接入 LEANN 后可以在 IDE 里做全库语义搜索。两条命令完成安装uv tool install leann-core --with leann claude mcp add --scope user leann-server -- leann_mcp第一条全局安装 LEANN 命令行工具第二条注册 MCP 服务。之后 Claude Code 会自动调用leann_search、leann_ask完成检索和问答完整的分步配置见 leann-mcp 说明。两种辅助检索模式元数据过滤索引时给文本块附加字段如文件扩展名、代码行数检索时按、、in等操作符过滤结果适合只搜 .py 文件且短于 100 行这类条件完整写法见 metadata_filtering 文档。精确匹配检索找错误信息、函数名等需要逐字命中的内容时在search中设use_grepTrue走 grep 而不是语义相似度说明见 grep_search 文档。避坑指南5 个常见问题速查建索引太慢换更轻量的 embedding 模型追加--embedding-model sentence-transformers/all-MiniLM-L6-v2约 30M 参数默认facebook/contriever约 100M。追求质量时再换 600M 级的 Qwen3-Embedding 模型取舍详见 配置指南。首次试跑时间过长先加--max-items 100跑小样本确认数据源读取、分块、检索都正常再放大到全量。误加 prompt 模板--embedding-prompt-template只用于 EmbeddingGemma 这类任务特定模型文档端和查询端用不同提示词。给nomic-embed-text、text-embedding-3-small等常规模型加模板会直接破坏 embedding别加。LM Studio 加载了多份模型副本更新到最新版 LEANN 并重启 LM Studio确认开启 JIT auto-evict新版会在查询完元数据后立即卸载模型。隐私与速度的取舍OpenAI 兼容 API 起步最快但数据出设备Ollama/LM Studio/vLLM 等本地推理端点通过--embedding-mode ollama或OPENAI_BASE_URL指向本地服务可做到完全离线。更多问答见 FAQ。快速回顾LEANN 上手四步清单uv pip install leann装好依赖python -m apps.document_rag --query ...跑通文档语义问答。换成自己的数据--data-dir指向文档目录或改用email_rag、browser_rag、wechat_rag等对应数据源的应用。试跑永远先加--max-items限制规模效果确认后再建全量索引。需要实时数据源或 IDE 内语义搜索时接入 MCPSlack/Twitter或按 leann-mcp 文档 配置 Claude Code 集成。【免费下载链接】LEANN[MLsys2026 Best Paper]: https://arxiv.org/abs/2506.08276. RAG on Everything with LEANN. Enjoy 97% storage savings while running a fast, accurate, and 100% private RAG application on your personal device.项目地址: https://gitcode.com/GitHub_Trending/le/LEANN创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表