nemo-retriever
Le CLI retriever indexe un dossier de PDFs dans LanceDB (retriever ingest) et fournit une recherche vectorielle dessus (retriever query). Pour toute tâche de recherche/réponse à des questions dans un dossier de PDFs, utilisez ce CLI — n'écrivez pas un RAG personnalisé.
Au-delà des PDFs et au-delà de la recherche sémantique. retriever ingest gère aussi les images, Office, HTML, TXT, audio et vidéo — voir references/setup.md pour la recette par format et references/install.md pour les extras d'installation ([multimedia], libreoffice, ffmpeg). Pour les opérations non-sémantiques — filtre de page, citation verbatim avec référence, agrégat au niveau du corpus, résultats de légende chart/image — voir references/query.md. Ne vous repliez pas sur Read/Grep/Python natif pour les entrées non-PDF.
Install (si retriever est absent)
Si command -v retriever ne retourne rien, suivez references/install.md pour installer NeMo Retriever Library avant de continuer. Cela affiche RETRIEVER_VENV=<path> ; remplacez ce chemin par <RETRIEVER_VENV> dans chaque exemple de cette compétence (setup, query, troubleshooting, et les références CLI).
Workflow — lisez la référence pour la phase actuelle, puis exécutez
| Type de tour | Lire une fois | Puis exécutez |
|---|---|---|
Setup turn (premier tour — ./lancedb/nv-ingest.lance n'existe pas) |
references/setup.md |
Construire l'index |
| Query turn (chaque tour suivant — l'utilisateur pose une question) | references/query.md |
Un appel retriever query |
| Quelque chose a errored ou retourné vide | references/troubleshooting.md |
Appliquez la récupération nommée ; n'improvisez pas |
Pour les spécifications CLI complètes retriever ingest / retriever query, voir references/cli/ingest.md et references/cli/query.md. Vous n'en avez pas besoin pour les tours routiniers — <RETRIEVER_VENV>/bin/retriever <subcommand> --help est plus rapide.
Avant d'ingérer un dossier mixte, inventoriez les extensions (find <dir> -name '*.*' | sed 's/.*\.//' | sort -u) — --input-type=auto abandonne silencieusement tout ce qui est en dehors de l'ensemble supporté. Voir references/troubleshooting.md « Unsupported file types ».
Limites strictes (s'appliquent à chaque tour)
- Setup turn : construisez l'index en une commande shell (voir
references/setup.md). ARRÊTEZ-VOUS après que l'index soit en place. - Query turn : au maximum 2 appels Bash — 1
retriever query, +1 extraction de texte ciblée optionnelle parreferences/query.md. Répondez puis ARRÊTEZ-VOUS. - Pas de narration entre les appels aux outils. Les tokens que vous émettez entre les appels deviennent input + cached input pour chaque tour ultérieur — coût quadratique. Allez directement de la lecture du résumé à l'écriture du fichier JSON.
- Interdits :
TodoWrite, Glob, Grep,Readde PDFs entiers, re-lancer le setup, faire spawner des subagents, appels spéculatifs de « confirmation ».
Les query turns longs (5+ appels aux outils, 1M+ cache-read tokens) coûtent ~5× un tour discipliné et produisent presque toujours toujours la mauvaise réponse. Répondre partiellement dépasse dépasser le timeout.