大型 PDF 精准检索阅读
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/search-large-pdfs-and-read-only-the-relevant-pages-before-answering。
技能介绍
为什么需要精准检索大型 PDF
处理几百页的 PDF 时,直接把全文塞进上下文会带来两个问题:一是 token 消耗暴涨,二是无关内容干扰模型判断。尤其遇到技术文档、法律合同或学术论文这类结构化文件,真正需要的往往只是其中几页。
技能如何工作
核心是借助 pdf-mcp 这个 MCP 服务器,分三步解决问题:
- 扫描与索引:先解析 PDF 结构,建立可搜索的索引。这一步不会一次性加载全文,而是先获取文档的“目录”和关键元数据。
- 关键词搜索:用户提问时,技能会先在索引中定位相关页面,而不是直接翻页。比如搜索“退款条款”,系统会快速定位到具体章节。
- 精准加载:只有被命中的页面才会被完整读取并传入上下文,其他页面仅保留摘要或关键词。这样既节省 token,又减少噪音。
对于扫描版 PDF(比如图片型合同),技能还能调用系统 tesseract 做 OCR 识别,把图片文字转成可搜索的文本。如果需要更智能的语义搜索,可以启用 pdf-mcp[semantic] 扩展,它通过 fastembed 和 numpy 实现向量检索,首次使用需下载约 67MB 的模型。
适用边界与注意点
- 环境要求:需要 Python 3.10+ 和 MCP 兼容的客户端(比如 Claude Desktop 或自建的 MCP 客户端)。
- 文件限制:支持本地 PDF 或可公开访问的 URL,但需要确保网络能正常获取文件。
- OCR 依赖:处理扫描件时,必须提前安装
tesseract,否则无法识别图片文字。 - 语义搜索成本:启用语义搜索会额外下载模型,且依赖
fastembed和numpy,首次运行可能需要等待下载完成。
这个技能适合需要频繁处理长文档的工程师或研究人员,但不适合实时性要求极高的场景(比如毫秒级响应),因为搜索和加载过程本身需要一定时间。
使用场景
- 审阅几百页的技术规范 PDF,需要快速提取与某个接口相关的几页内容用于答复
- 从扫描版合同 PDF 中检索特定条款,先定位页码再读取原文,避免加载整份文件
- 回答用户关于长篇学术论文的问题,只加载相关页面来节省 token 和响应时间
- 处理包含多章节的产品手册 PDF,按关键词找到对应操作步骤并整理成摘要
适合人员
- 需要频繁查阅大型技术文档的后端工程师,希望快速定位相关章节而不是通读全文
- 处理大量合同 PDF 的法务专员,需要按条款关键词精准找到对应页面并核对原文
- 审阅长篇文献的研究生,想在不加载全文的前提下回答关于论文的具体问题
- 维护产品手册的技术写作者,需要从长文档中提取特定章节更新到知识库