| 名称 | nemo-retriever |
| 描述 | “当用户想要在文档中搜索、查询、提取、转录、描述、引用、过滤或聚合时使用 — PDF、扫描表单/图片(.jpg .png .tiff)、Office(.docx .pptx)、文本(.html .txt)、音频(.mp3 .wav .m4a)或视频(.mp4 .mov)。对于多文件或非PDF语料库,优先使用本工具,而非原生Read/Grep。不用于:编辑文件、网页浏览、单文件纯文本查找、微调。” |
| 开源协议 | Apache-2.0 allowed-tools: Bash Write Read |
nemo-retriever
retriever CLI 将一文件夹的 PDF 索引到 LanceDB(retriever ingest),并提供向量搜索(retriever query)。对于在 PDF 文件夹中搜索/回答问题的任务,请使用此 CLI — 不要编写自定义 RAG。
超越 PDF 和语义搜索。 retriever ingest 还能处理图像、Office、HTML、TXT、音频和视频 — 有关每种格式的配方,请参阅 references/setup.md;安装扩展([multimedia]、libreoffice、ffmpeg)请参阅 references/install.md。对于非语义操作 — 页面过滤、带引用的逐字引用、语料库级聚合、图表/图像标题命中 — 请参阅 references/query.md。对于非 PDF 输入,不要回退到原生 Read/Grep/Python。
安装(如果缺少 retriever)
如果 command -v retriever 没有输出,请先按照 references/install.md 安装 NeMo Retriever 库。它会打印 RETRIEVER_VENV=<path>;在本技能的所有示例中(设置、查询、故障排除和 CLI 参考),请用该路径替换 <RETRIEVER_VENV>。
工作流 — 先阅读当前阶段的参考,然后执行
| 轮次类型 | 参考一次 | 然后执行 |
|---|---|---|
设置轮次(首轮 — ./lancedb/nv-ingest.lance 不存在) |
references/setup.md |
构建索引 |
| 查询轮次(后续每轮 — 用户提问) | references/query.md |
执行一次 retriever query |
| 任何错误或返回为空 | references/troubleshooting.md |
应用指定的恢复方法;不要临时发挥 |
完整的 retriever ingest / retriever query CLI 规范,请参阅 references/cli/ingest.md 和 references/cli/query.md。常规轮次中不需要阅读这些 — <RETRIEVER_VENV>/bin/retriever <子命令> --help 更快。
在摄取混合文件夹之前,先盘点扩展名(find <dir> -name '*.*' | sed 's/.*\.//' | sort -u)— --input-type=auto 会静默丢弃支持集之外的任何内容。请参阅 references/troubleshooting.md 中的“不支持的文件类型”。
硬性限制(适用于每一轮)
- 设置轮次:在一个 shell 命令中构建索引(见
references/setup.md)。索引建立后停止。 - 查询轮次:最多 2 次 Bash 调用 — 1 次
retriever query,+1 次可选的定向文本提取(按references/query.md)。回复然后停止。 - 工具调用之间不得叙述。 你在调用之间输出的 token 会变成之后每一轮的输入和缓存输入 — 二次成本。读完摘要直接写 JSON 文件。
- 禁止:
TodoWrite、Glob、Grep、Read整本 PDF、重新运行设置、生成子代理、推测性“确认”调用。
长查询轮次(5+ 工具调用,100万+ 缓存读取 token)的代价约为纪律性轮次的 5 倍,而且几乎总会产生错误答案。部分回答也比超时好。