vss-ask-video

Par nvidia · skills

Utilisez cet outil pour poser une nouvelle question visuelle à l'outil `video_understanding` de l'agent VSS à propos d'un clip enregistré. Non destiné aux sorties d'outils précédentes, aux résultats de recherche ou aux questions auxquelles les métadonnées peuvent répondre.

npx skills add https://github.com/nvidia/skills --skill vss-ask-video

Video QnA utilisant VLM via l'agent VSS

Utilisez cette skill lorsque vous avez besoin de détails sur la vidéo qui nécessitent un VLM pour examiner les frames vidéo — par exemple, l'agent n'a pas de réponse antérieure exploitable et a besoin d'un nouvel examen des pixels pour un clip spécifique.


Quand l'utiliser

  • L'utilisateur demande ce qui se passe dans la vidéo, quels objets / personnes / actions apparaissent, couleurs, timing, sécurité, ou autres faits visuels qui nécessitent de regarder le clip.
  • L'utilisateur demande des détails qui ne peuvent pas être répondus à partir des messages existants, résumés, résultats Elasticsearch/MCP, ou noms de fichiers seuls — vous avez besoin d'une inférence de modèle sur la vidéo.
  • Questions de suivi sur les détails de contenu après un résumé grossier ou après la génération d'un rapport.

N'utilisez pas cette skill quand une base de données / MCP / sortie d'outil antérieur répond déjà à la question, sauf si l'utilisateur demande explicitement une vérification contre la vidéo.


Prérequis de déploiement

Cette skill nécessite un profil VSS qui sert l'outil video_understanding — généralement base (recommandé) ou lvs. Avant toute requête :

  1. Testez l'agent VSS :

    curl -sf --max-time 5 "http://${HOST_IP}:8000/docs" >/dev/null
  2. Si le test échoue, demandez à l'utilisateur :

    "Aucun profil VSS n'est en cours d'exécution sur $HOST_IP. Dois-je déployer base (recommandé pour les QnA VLM par clip) en utilisant la skill /vss-deploy-profile ? Si vous préférez lvs, dites-le."

    • Si oui → confiez à /vss-deploy-profile -p base (ou -p lvs si l'utilisateur préfère). Revenez ici une fois que cela réussit.
    • Si non → arrêtez.
  3. Si le test réussit, continuez.


Prérequis du capteur

Vous DEVEZ lister les capteurs VST avant tout appel /generate. Ceci est obligatoire même quand l'utilisateur nomme le capteur explicitement, même quand l'utilisateur affirme que la vidéo est déjà uploadée, et même quand un tour précédent semblait utiliser la même vidéo. Ne sautez pas cette étape.

  1. Listez les capteurs :

    curl -sf --max-time 5 "http://${HOST_IP}:30888/vst/api/v1/sensor/list" | jq '.[].name'
  2. Comparez les valeurs name renvoyées contre le <sensor-id> fourni par l'utilisateur (ou la racine du nom de fichier, par ex. warehouse_safety_0001).

  3. Si un capteur correspondant est présent → continuez avec le workflow Agent ci-dessous.

  4. Si aucun capteur correspondant n'est présent — uploadez d'abord la vidéo, puis relancez le listage pour confirmer que le nouveau capteur apparaît :

    # filename: ne doit pas contenir d'espace
    # timestamp: ISO 8601 UTC — par défaut 2025-01-01T00:00:00.000Z si l'utilisateur n'a pas spécifié
    curl -s -X PUT "http://${HOST_IP}:30888/vst/api/v1/storage/file/<filename>?timestamp=<timestamp>" \
      -H "Content-Type: application/octet-stream" \
      -H "Content-Length: <file_size_in_bytes>" \
      --upload-file /path/to/<filename> | jq .

    Voir /vss-manage-video-io-storage pour la sémantique complète d'upload (v1 vs v2, gestion des conflits, flux de suppression). Dans les exécutions interactives, confirmez avec l'utilisateur avant d'uploader. N'émettez jamais un PUT sans condition sans d'abord exécuter la vérification du listage des capteurs ci-dessus — c'est exactement le mode de défaillance que ce prérequis existe pour prévenir.


Workflow agent

Le prérequis Capteur ci-dessus doit avoir déjà confirmé (ou créé) que le capteur existe sur VST. Ensuite :

  1. Clip — Identifiez le sensor id, le nom de fichier, ou l'URL pour un segment vidéo. Si ambigu, demandez à l'utilisateur.
  2. Appelez l'agent vss avec le sensor id et demandez-lui d'appeler l'outil video_understanding pour répondre à la question de l'utilisateur.
  3. Retournez la réponse de l'agent vss à l'utilisateur.

Requête auprès de l'agent VSS (/generate)

# Défini depuis le déploiement (compose / .env / hôte où vss-agent écoute)
export VSS_AGENT_BASE_URL="http://localhost:8000"

curl -s -X POST "${VSS_AGENT_BASE_URL}/generate" \
  -H "Content-Type: application/json" \
  -d '{"input_message": "Call video_understanding tool to answer the following question about <sensor-id>: <user query>"}' | jq .

Références croisées

  • vss-manage-video-io-storage — URLs de stockage/replay VST pour que VIDEO_URL soit valide pour le VLM.
  • vss-generate-video-reportrapports horodatés via l'agent VSS (/generate) ; cette skill est un VLM direct pour le Q&A vidéo ad-hoc.

Skills similaires