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 :
-
Testez l'agent VSS :
curl -sf --max-time 5 "http://${HOST_IP}:8000/docs" >/dev/null -
Si le test échoue, demandez à l'utilisateur :
"Aucun profil VSS n'est en cours d'exécution sur
$HOST_IP. Dois-je déployerbase(recommandé pour les QnA VLM par clip) en utilisant la skill/vss-deploy-profile? Si vous préférezlvs, dites-le."- Si oui → confiez à
/vss-deploy-profile -p base(ou-p lvssi l'utilisateur préfère). Revenez ici une fois que cela réussit. - Si non → arrêtez.
- Si oui → confiez à
-
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.
-
Listez les capteurs :
curl -sf --max-time 5 "http://${HOST_IP}:30888/vst/api/v1/sensor/list" | jq '.[].name' -
Comparez les valeurs
namerenvoyées contre le<sensor-id>fourni par l'utilisateur (ou la racine du nom de fichier, par ex.warehouse_safety_0001). -
Si un capteur correspondant est présent → continuez avec le workflow Agent ci-dessous.
-
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-storagepour 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 :
- Clip — Identifiez le sensor id, le nom de fichier, ou l'URL pour un segment vidéo. Si ambigu, demandez à l'utilisateur.
- 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.
- 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_URLsoit valide pour le VLM. - vss-generate-video-report — rapports horodatés via l'agent VSS (
/generate) ; cette skill est un VLM direct pour le Q&A vidéo ad-hoc.