Présentation du skill rag-perf
Ce skill fait partie du catalogue officiel de skills agent publiés par NVIDIA dans le repo nvidia/skills. Il fournit à un agent AI les instructions complètes pour utiliser rag-perf, un outil CLI de benchmarking de performance destiné à mesurer les performances d'un serveur NVIDIA RAG Blueprint déjà déployé. Son périmètre est strictement délimité : mesure de performance (latence, débit, TTFT) et profilage par étape du pipeline RAG — ni évaluation de la qualité des réponses (rôle du skill rag-eval), ni déploiement ou maintenance de services (rôle du skill rag-blueprint).
Ce que fait ce skill
Le SKILL.md documente de façon exhaustive comment piloter rag-perf via une configuration YAML unique. L'outil enchaîne deux phases : un profiling pass qui mesure le timing de chaque étape du pipeline RAG (retrieval, reranking, génération) et infère les goulots d'étranglement, suivi d'un test de charge aiperf optionnel qui mesure TTFT, débit en tokens et en requêtes, et taux d'erreur. Trois presets YAML sont fournis dans scripts/rag-perf/configs/ : quick_profile.yaml (profilage seul, ~30 s), single_run.yaml (un point de concurrence, ~2 min) et sweep.yaml (balayage multi-axes en produit cartésien).
Comment l'agent utilise ce skill
Le skill expose un playbook agent en huit étapes : synchronisation des dépendances via uv sync, sélection et personnalisation d'un preset YAML (en particulier la substitution obligatoire du placeholder rag.collection_names), exécution depuis la racine du repo avec uv run --project scripts/rag-perf rag-perf -c <config>, lecture des tableaux de synthèse sur stdout, analyse des artefacts produits dans output.dir/run_<ts>/, et formulation d'un résumé structuré pour l'utilisateur incluant tableau de métriques, efficacité de mise à l'échelle et proposition d'expérience suivante.
Structure et contenu du SKILL.md
Contrairement à un simple squelette, ce SKILL.md est un document de référence complet : il couvre les prérequis d'installation (Python 3.11+, uv, plugin nvidia_rag pour aiperf), les exemples de commandes pour chaque preset, une table de dépannage détaillée, les limitations connues (règle XOR input/synthetic, inférence d'extension de fichier, modèles de raisonnement), les points de vigilance (exécution depuis la racine du repo, édition obligatoire de collection_names, changement de nommage des fichiers selon aiperf.enabled), et une table des sources de vérité pointant vers chaque module Python et fichier de configuration du repo source.