tao-analyze-gaps-vlm-bcq
NVIDIA/skills
Extrair lacunas de falsos positivos e falsos negativos das previsões das perguntas de classificação binária do VLM, comparando as respostas do modelo com os dados reais, gerando um arquivo JSONL estruturado e um relatório resumido para análise posterior da causa raiz.
...Expandir tudoAnálise de lacunas na classificação binária do VLM
Lê um arquivo JSON com as previsões do VLM, compara cada resposta do modelo com o valor de referência e grava os casos de falha (FP/FN) em um arquivo JSONL com um relatório resumido.
Objetivo
Após executar um VLM em uma tarefa de avaliação binária (sim/não), as previsões precisam ser comparadas com a verdade de referência para identificar casos de falha. Esta skill gera uma lista estruturada de amostras de FP (falsos positivos) e FN (falsos negativos) que as etapas posteriores do RCCA (por exemplo, geração de cosmos, análise de causa raiz) utilizam para conduzir uma iteração do DEFT.
Uso
Invoque a ação vlm_bcq dentro do contêiner de serviços de dados do TAO Toolkit com substituições do tipo Hydra (chave=valor):
gap_analysis vlm_bcq \
predictions_json=/path/to/results.json \
results_dir=/path/to/output/gaps
Inclua `videos_dir` quando os valores de `video_id` nas previsões forem caminhos relativos:
gap_analysis vlm_bcq \
predictions_json=/caminho/para/results.json \
results_dir=/caminho/para/output/gaps \
videos_dir=/caminho/para/videos/raiz
Após a execução, extraia as contagens de FP/FN do arquivo kpi_gaps_report.txt e direcione as etapas posteriores para o arqu ivo kpi_gaps.jsonl.
Entradas
- predictions_json: Caminho para o arquivo JSON de previsões. Deve ser uma matriz JSON em que cada item tenha os campos
video_id,responseegt.Os campos responseegtsão analisados com correspondência de limites de palavras —“yes”ou“no”em qualquer parte da string são reconhecidos. Amostras em que ambos estejam presentes ou nenhum esteja presente são ignoradas com um aviso. - videos_dir (opcional): diretório raiz para resolver caminhos relativos
de video_id. Se omitido, os valoresde video_idsão usados como caminhos absolutos.
Formato JSON das previsões:
[
{
"video_id": "/path/to/video.mp4",
"response": "Sim, há uma colisão.",
"gt": "B. Não",
"question": "Existe uma colisão?"
}
]
Saídas
- kpi_gaps.jsonl: Um objeto JSON por linha para cada caso de FP/FN. Campos:
video_id(caminho absoluto),error_type(FPouFN),question,ground_truth,response. - kpi_gaps_report.txt: Tabela legível por humanos com as contagens totais de FP/FN.
Se nenhuma discrepância for encontrada, nenhum arquivo é gravado e uma mensagem é registrada no log.
Parâmetros principais
| Parâmetro | Obrigatório | Descrição |
|---|---|---|
| predictions_json | Sim | Caminho para o arquivo JSON de previsões |
| results_dir | Sim | Diretório de saída; será criado caso não exista |
| videos_dir | Não | Diretório raiz para resolver caminhos relativos de video_id |
Padrões de erro
| Erro | Causa | Solução |
|---|---|---|
FileNotFoundError |
O arquivo `predictions_json ` não existe |
Verifique o caminho |
ValueError: deve ser uma matriz JSON |
O arquivo de previsões não é uma lista | Envolva as previsões em [...] |
ValueError: faltam 'gt'/'response'/'video_id' |
Um item de previsão está sem um campo obrigatório | Verifique e corrija o JSON das previsões |
| Amostras ignoradas silenciosamente | response ou gt contém ambos ou nenhum dos valores 'yes'/'no' |
Verifique se há avisos nos logs; analise essas amostras |
---
name: tao-analyze-gaps-vlm-bcq
description: Extract false-positive and false-negative gaps from VLM binary-classification-question predictions by comparing model responses against ground truth, producing a structured JSONL file and summary report for downstream root-cause analysis.
license: Apache-2.0
---
# VLM Binary Classification Gap Analysis
Reads a VLM predictions JSON, compares each model response against ground truth, and writes FP/FN failure cases to a JSONL file with a summary report.
## Purpose
After running a VLM on a binary yes/no evaluation task, the predictions need to be compared against ground truth to identify failure cases. This skill produces a structured list of FP (false positive) and FN (false negative) samples that downstream RCCA stages (e.g., cosmos generation, root cause analysis) consume to drive a DEFT iteration.
## Usage
Invoke the `vlm_bcq` action inside the TAO Toolkit data services container with Hydra-style key=value overrides:
```bash
gap_analysis vlm_bcq \
predictions_json=/path/to/results.json \
results_dir=/path/to/output/gaps
```
Include `videos_dir` when `video_id` values in the predictions are relative paths:
```bash
gap_analysis vlm_bcq \
predictions_json=/path/to/results.json \
results_dir=/path/to/output/gaps \
videos_dir=/path/to/videos/root
```
After the run, surface the FP/FN counts from `kpi_gaps_report.txt` and point downstream stages at `kpi_gaps.jsonl`.
## Inputs
- **predictions_json**: Path to predictions JSON file. Must be a JSON array where each item has `video_id`, `response`, and `gt` fields. `response` and `gt` are parsed with word-boundary matching — `'yes'` or `'no'` anywhere in the string is recognized. Samples where both or neither are present are skipped with a warning.
- **videos_dir** (optional): Base directory for resolving relative `video_id` paths. If omitted, `video_id` values are used as absolute paths.
**Predictions JSON format:**
```json
[
{
"video_id": "/path/to/video.mp4",
"response": "Yes, there is a collision.",
"gt": "B. No",
"question": "Is there a collision?"
}
]
```
## Outputs
- **kpi_gaps.jsonl**: One JSON object per line for each FP/FN case. Fields: `video_id` (absolute path), `error_type` (`FP` or `FN`), `question`, `ground_truth`, `response`.
- **kpi_gaps_report.txt**: Human-readable table with total FP/FN counts.
If no gaps are found, no files are written and a message is logged.
## Key Parameters
| Parameter | Required | Description |
|-----------|----------|-------------|
| predictions_json | Yes | Path to predictions JSON file |
| results_dir | Yes | Output directory; created if it does not exist |
| videos_dir | No | Base directory for resolving relative `video_id` paths |
## Error Patterns
| Error | Cause | Fix |
|-------|-------|-----|
| `FileNotFoundError` | `predictions_json` does not exist | Check the path |
| `ValueError: must be a JSON array` | Predictions file is not a list | Wrap predictions in `[...]` |
| `ValueError: missing 'gt'/'response'/'video_id'` | A prediction item is missing a required field | Inspect and fix the predictions JSON |
| Samples silently skipped | `response` or `gt` contains both or neither 'yes'/'no' | Check logs for warnings; inspect those samples |
Todos os arquivos
6 arquivosInstalar tao-analyze-gaps-vlm-bcq
Baixe e descompacte os arquivos de habilidades no diretório .claude/skills/.
Baixar ZIPClone o repositório e copie os arquivos da habilidade para o seu projeto.
git clone https://github.com/NVIDIA/skills/tree/main/skills/tao-analyze-gaps-vlm-bcq # Copy SKILL.md to your .claude/skills/ directory
Copiar





Lar
