nemo-retriever について
nemo-retrieverは、文書群をインデックス化して検索するCLIで、複数ファイルから回答と出典を探すタスクに適しています。多様な文書・メディア形式に対応し、セマンティック検索、ページ引用、非セマンティックな検索操作を提供します。
主な機能
- 01文書やメディアをLanceDBにインデックス化
- 02出典ページ番号付きのセマンティック検索
- 03PDF、Office、HTML、音声、動画に対応
- 04ページ絞り込みと原文引用の取得
- 05コーパス集計と図表・画像キャプション検索
活用シーン
- 01複数の年次報告書から財務数値を検索
- 02回答の引用元となるページを特定
- 03スキャンPDFやOffice文書を検索
- 04文書間のデータ比較と集計
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ promptingcompany/ nv-skills --skill nemo-retrieverインストール後、Claude Code で/nemo-retrieverを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
BENCHMARK.mdskill-card.mdskill.oms.sigevals/evals.jsonreferences/install.mdquery.mdsetup.mdtroubleshooting.mdreferences/cli/ingest.mdquery.mdscripts/filename_fast_path.pygrep_corpus.py詳細
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 に頼らないでください。
使用する場面
レポートのフォルダーを渡され、特定の値(収益や利益率の数値、10-K の項目、引用、表のセルなど)を求められるタスク、特に引用する出典ページも必要な場合に適したツールです。retriever ingest でコーパスに一度インデックスを作成すれば、以後の質問ごとに retriever query を一度実行するだけで、値と出典の文書、ページ番号が返されます。
- 適しています: 文書のディレクトリ、複数のファイル、年次報告書/10-K/財務報告書、プレーンテキスト以外の形式(PDF、スキャン画像、Office、HTML、音声、動画)、セマンティックマッチング、文書間の比較、ページ単位の引用が必要な質問。
- 使用しない場合: プレーンテキストまたは Markdown ファイルが 1 つだけの場合、ファイルの編集、ウェブの閲覧。
フォルダー内を grep できそうに見えても、使う価値があります。 grep/pdftotext では文字列をそのまま検索できますが、こうしたタスクで重要な情報を見落としがちです。「R&D 支出」に関する質問では、「研究開発費」と題された表を grep で見つけられません。スキャン画像の PDF は読み取れず、引用するページもわかりません。また、コーパス内に似た数値が複数ある場合(前年度の数値、暫定値、別会社の項目など)、文字列検索では誤った値が簡単に返されます。retriever は意味に基づいて順位付けし、すべてのヒットについてページと出典を保持するため、最初に一致した値ではなく、正しい値を選べます。
インデックスは一度作成すればキャッシュされます。最初のターンで作成するには数分かかりますが、その後の質問はすべて低コストになるため、引用したい情報を 1 つだけ検索する場合でも、通常は作成する価値があります。
インストール(retriever が見つからない場合)
command -v retriever を実行して何も返されない場合は、先に references/install.md の手順に従って NeMo Retriever Library をインストールしてください。RETRIEVER_VENV=<path> が出力されます。このスキルのすべての例(setup、query、troubleshooting、CLI リファレンス)で、<RETRIEVER_VENV> をそのパスに置き換えてください。
ワークフロー — 現在のフェーズのリファレンスを読んでから実行
| ターンの種類 | 一度だけ読むもの | 次に実行すること |
|---|---|---|
Setup turn(最初のターン — ./lancedb/nv-ingest.lance が存在しない) | references/setup.md | インデックスを作成 |
| Query turn(以降の各ターン — ユーザーが質問する) | 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 <subcommand> --help のほうが迅速です。
複数の形式が混在するフォルダーを取り込む前に、拡張子を一覧表示してください(find <dir> -name '*.*' | sed 's/.*\.//' | sort -u)。--input-type=auto は、サポート対象外の形式を警告なしで除外します。references/troubleshooting.md の「Unsupported file types」を参照してください。
ハードリミット(すべてのターンに適用)
- セットアップターン:シェルコマンド1つでインデックスを構築します(
references/setup.mdを参照)。インデックスができたら停止してください。 - クエリターン:Bashの呼び出しは最大2回です。
retriever queryを1回実行し、必要に応じてreferences/query.mdに従って対象を絞ったテキスト抽出を1回行います。回答したら停止してください。 - **ツール呼び出しの間に説明を挟まないでください。**呼び出しの間に出力するトークンは、以降のすべてのターンで入力とキャッシュ入力になるため、コストが二次関数的に増加します。要約を読んだら、すぐにJSONファイルを書いてください。
- 禁止事項:
TodoWrite、Glob、Grep、PDF全体のRead、セットアップの再実行、サブエージェントの起動、推測に基づく「確認」呼び出し。
長時間のクエリーターン(ツール呼び出し5回以上、キャッシュ読み取りトークン100万以上)は、規律あるターンの約5倍のコストがかかる一方で、ほとんどの場合、回答は改善しません。タイムアウトするより、一部だけでも回答する方が適切です。