mcpField
N
nemo-retriever

nemo-retriever

github.com/promptingcompanyドキュメント040 回インストール17 週間前に更新
リポジトリ

nemo-retriever について

nemo-retrieverは、文書群をインデックス化して検索するCLIで、複数ファイルから回答と出典を探すタスクに適しています。多様な文書・メディア形式に対応し、セマンティック検索、ページ引用、非セマンティックな検索操作を提供します。

主な機能

  1. 01文書やメディアをLanceDBにインデックス化
  2. 02出典ページ番号付きのセマンティック検索
  3. 03PDF、Office、HTML、音声、動画に対応
  4. 04ページ絞り込みと原文引用の取得
  5. 05コーパス集計と図表・画像キャプション検索

活用シーン

  1. 01複数の年次報告書から財務数値を検索
  2. 02回答の引用元となるページを特定
  3. 03スキャンPDFやOffice文書を検索
  4. 04文書間のデータ比較と集計

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/promptingcompany/nv-skills --skill nemo-retriever

インストール後、Claude Code で/nemo-retrieverを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

BENCHMARK.md
skill-card.md
skill.oms.sig
evals/
evals.json
references/
install.md
query.md
setup.md
troubleshooting.md
references/cli/
ingest.md
query.md
scripts/
filename_fast_path.py
grep_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.mdretriever 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倍のコストがかかる一方で、ほとんどの場合、回答は改善しません。タイムアウトするより、一部だけでも回答する方が適切です。

コメント