无需云端的模型上下文协议(MCP)应用
文章介绍了一种模型上下文协议(MCP)的替代用法,用于为模型提供对大型本地文档档案的访问。与传统的检索增强生成(RAG)不同,文中提出了一种索引结构(index.md 和 subindex.md),使模型仅能检索必要片段,从而减少上下文和令牌消耗,并避免依赖云端。作者展示了自己的实现——DocShelf 工具,该工具将 PDF 转换为 Markdown,分割成章节,构建索引,存储在 Git 中,并通过 MCP 连接,并给出了完整的流水线示例。
作者认为,MCP不仅适用于代理(agent),还可以用于其他目的,例如从大型本地文档集合中实现检索。作者曾考虑过经典RAG方案,但该方案需要大量基础设施(如嵌入模型、向量数据库、定时重建索引),且无法提供透明度以审计模型为何选择特定片段。因此,作者提出使用索引文件(借鉴llms.txt的思路)作为目录:模型先阅读索引,再阅读子索引,最后才获取文档的具体章节。作者开发了DocShelf工具,这是一个MCP服务器,可将PDF转换为Markdown,进行清理,拆分为章节,创建index.md和subindex.md,将所有内容存储在Git中,并连接到模型。处理流程如下:PDF转Markdown,然后拆分为章节,接着构建索引,再保存到Git,最后通过MCP服务器连接到大语言模型(LLM)。模型仅需消费整个档案的极小部分:以85 MB的库为例,只使用了约16.5 KB的上下文。文章还指出了常见陷阱:PDF解析问题、西里尔字母乱码、Markdown结构不佳,并提供了故障排查表。可用的转换器有两个:pymupdf4llm(速度快,无需GPU)和marker-pdf(适用于复杂情况,但较重)。DocShelf支持使用Git作为存储、版本控制和审查工具,并可在封闭网络中运行。作者总结道,在需要审计且语料库为本地的场景下,该方法能够替代经典RAG方案。
来源: Habr — хаб ИИ —
原文
