[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-nvidia-sop-data-augmentation":3,"mdc--kec09q-key":37,"related-repo-nvidia-sop-data-augmentation":3399,"related-org-nvidia-sop-data-augmentation":3491},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":26,"repoUrl":27,"updatedAt":28,"license":29,"forks":30,"topics":31,"repo":32,"sourceUrl":35,"mdContent":36},"sop-data-augmentation","augment annotated datasets","Use when the user wants to run data augmentation on an annotated dataset, configure augmentation parameters, check augmentation status, or understand what each QA augmentation type does (BCQ, MCQ, GQA, DMCQ, DSQA, ENQA)",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},"nvidia","NVIDIA","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fnvidia.png",[12,16,19,22,25],{"name":13,"slug":14,"type":15},"Datasets","datasets","tag",{"name":17,"slug":18,"type":15},"Data Engineering","data-engineering",{"name":20,"slug":21,"type":15},"Machine Learning","machine-learning",{"name":23,"slug":24,"type":15},"QA","qa",{"name":9,"slug":8,"type":15},39,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fsop-monitoring-blueprints","2026-07-14T05:36:20.305657","CC-BY-4.0 AND Apache-2.0",12,[],{"repoUrl":27,"stars":26,"forks":30,"topics":33,"description":34},[],"Industrial SOP Monitoring Blueprints for Training & Inference","https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fsop-monitoring-blueprints\u002Ftree\u002FHEAD\u002Fagentic\u002Fsop-agentic-ft\u002Fplugins\u002Fsop-data-augmentation-plugin\u002Fskills\u002Fsop-data-augmentation","---\nname: sop-data-augmentation\ndescription: Use when the user wants to run data augmentation on an annotated dataset, configure augmentation parameters, check augmentation status, or understand what each QA augmentation type does (BCQ, MCQ, GQA, DMCQ, DSQA, ENQA)\nlicense: \"CC-BY-4.0 AND Apache-2.0\"\n---\n\n# SOP Data Augmentation\n\n## Overview\n\nThe Data and QA Augmentation microservice transforms annotated video data into structured question-answer (QA) formats used to train a Vision-Language Model (VLM) for SOP monitoring. It takes an annotated dataset (video action chunks with timestamps) and generates up to 7 types of QA training data — from simple binary yes\u002Fno questions to complex hard-negative mining with shuffled video frames.\n\nThis skill covers how to configure, trigger, monitor, and troubleshoot the augmentation pipeline.\n\n**Bundled resources** (paths relative to this skill's directory):\n- `scripts\u002Flaunch_vllm.sh` — Helper to start\u002Fstop a local vLLM server for GQA generation\n- `references\u002Faugmentation-types.md` — Detailed config parameters and guidance for all 7 augmentation types\n- `references\u002Fconfig-template.md` — Full annotated `augment_config.yaml` template\n- `references\u002Flaunch-vllm-usage.md` — vLLM script options and Docker details\n\n## Prerequisites\n\nBefore running augmentation, ensure:\n\n1. **Service is running:** The `sop-data-gen` container must be up on port **5487**\n   ```bash\n   # Verify service health\n   curl http:\u002F\u002F\u003Cserver_ip>:5487\u002Fhealth\n   # Expected: {\"message\": \"VLM Data Augmentation API is running\", \"status\": \"healthy\"}\n   ```\n\n2. **Annotated dataset exists:** The dataset must be in `assets\u002Fdata\u002F\u003Cdataset_id>\u002F` with:\n   - `actions.json` — action definitions (e.g., `{\"actions\": [\"(1) standing by...\", \"(2) installing...\"]}`)\n   - One or more video folders (e.g., `video-1-pass\u002F`) each containing:\n     - Action video chunks (mp4 files named `\u003Caction_number>_\u003Cvideo_name>_\u003Cduplication>_\u003Ctimeline>.mp4`)\n     - `\u003Cvideo_name>_annotation.json` — frame-by-frame annotations\n\n3. **Config file prepared:** `assets\u002Fconfig\u002Faugment_config.yaml` configured with desired parameters\n\n4. **LLM access (for GQAs stage only):** The GQAs stage requires an LLM. Two options:\n   - **NVIDIA NIM API:** Set `NGC_API_KEY` in `.env` and configure `llm_type: \"nvidia\"` in the config\n   - **Local LLM (no API key needed):** Use the helper script `scripts\u002Flaunch_vllm.sh` to start a local vLLM server, then configure `llm_type: \"local\"` in the config. See the workflow below for details.\n\n## Workflow\n\nIf the user has an NVIDIA API key (`NGC_API_KEY` set in `.env`), use the NVIDIA NIM path. If not, use the local LLM path — start vLLM before augmentation and stop it after to free GPU memory.\n**Note: The `NGC_API_KEY` might set to a placeholder, do check if the value is a valid NVIDIA API key before deciding to use NVIDIA NIM**\n\n### Configuration policy (read before editing the config)\n\nTreat the user's existing `assets\u002Fconfig\u002Faugment_config.yaml` as authoritative for *which stages* are enabled. Only modify the *minimum* settings required to satisfy the request.\n\n```\n                                     ┌─ Has NGC_API_KEY? ─┐\n                                     │                     │\n                                    yes                    no\n                                     │                     │\n                                     │         1a. Start local vLLM\n                                     │             scripts\u002Flaunch_vllm.sh\n                                     │             (wait for ready)\n                                     │                     │\n                                     └──────────┬──────────┘\n                                                │\n                              1b. Edit augment_config.yaml\n                                                │\n                              2.  POST \u002Fapi\u002Fv1\u002Faugment\n                                                │\n                              3.  GET \u002Fapi\u002Fv1\u002Faugmentation_status\n                                  (poll until 100%)\n                                                │\n                              4.  Verify output\n                                                │\n                                     ┌─ Used local LLM? ──┐\n                                     │                     │\n                                    no                    yes\n                                     │                     │\n                                     │         5. Stop vLLM\n                                     │            scripts\u002Flaunch_vllm.sh --stop\n                                     │            (frees GPU for training)\n                                     │                     │\n                                     └──────────┬──────────┘\n                                              Done\n```\n\n### Step 1a: Start Local LLM (skip if using NVIDIA NIM API)\n\nIf the user does not have an NVIDIA API key, start a local vLLM server **before** editing the config:\n\n```bash\n# Default model on port 9000 (takes ~6 min to load)\nscripts\u002Flaunch_vllm.sh\n\n# Or with custom model\u002Fport:\nscripts\u002Flaunch_vllm.sh --model Qwen\u002FQwen2.5-7B --port 8000 --tp 2\n```\n\nWhen ready, the script prints a ready-to-paste `gqas:` config snippet (with the actual served model id, machine IP, and port). Capture that snippet — Step 1b uses it verbatim.\n\nFor full script options, see `references\u002Flaunch-vllm-usage.md`.\n\n### Step 1b: Configure\n\nEdit `assets\u002Fconfig\u002Faugment_config.yaml` on the host machine. The file is mounted into the container — no rebuild needed.\n\n**Per the Configuration policy above:** only change fields that are required for the request.\n\nFor local LLM, ensure the `gqas` section has:\n```yaml\ngqas:\n  llm_type: \"local\"\n  local_llm_url: \"http:\u002F\u002F\u003Cvllm_machine_ip>:\u003Cport>\u002Fv1\"   # from launch_vllm.sh output\n  llm: \u003Cserved_model_id>                                # exact id from \u002Fv1\u002Fmodels — do not guess\n  enable_thinking: \"false\"                              # required for thinking-mode models\n```\n\n### Step 2: Trigger\n\n```bash\ncurl -X POST \\\n  'http:\u002F\u002F\u003Cserver_ip>:5487\u002Fapi\u002Fv1\u002Faugment?label_data_id=\u003Cdataset_id>' \\\n  -H 'accept: application\u002Fjson' \\\n  -d ''\n```\n\nThe `label_data_id` is the dataset folder name under `assets\u002Fdata\u002F`. This is the original annotated dataset ID (not an augmented one).\n\n### Step 3: Poll Status\n\n```bash\ncurl 'http:\u002F\u002F\u003Cserver_ip>:5487\u002Fapi\u002Fv1\u002Faugmentation_status\u002F\u003Caugmented_dataset_id>'\n```\n\nThe `augmented_dataset_id` is returned by the POST request (format: `\u003Clabel_data_id>_augmented_\u003CN>`).\n\n### Step 4: Verify Output\n\nCheck the output directory exists and contains expected subdirectories:\n```bash\nls assets\u002Fdata\u002F\u003Caugmented_dataset_id>\u002F\n# Expected: bcq\u002F mcq\u002F golden_gqa\u002F gqas\u002F (and dmcq\u002F ds\u002F en\u002F if those stages were enabled)\n```\n\n### Step 5: Stop Local LLM (skip if using NVIDIA NIM API)\n\nAfter augmentation completes, stop the vLLM server to free GPU memory for downstream tasks (e.g., VLM fine-tuning, DDM training):\n\n```bash\nscripts\u002Flaunch_vllm.sh --stop\n```\n\n## API Reference\n\n### POST \u002Fapi\u002Fv1\u002Faugment\n\nTrigger a data augmentation job. Runs asynchronously — returns immediately.\n\n| Parameter | Location | Required | Description |\n|-----------|----------|----------|-------------|\n| `label_data_id` | query | yes | ID of the annotated dataset to augment |\n\n**Response (200):**\n```json\n{\n  \"dataset_id\": \"\u003Clabel_data_id>_augmented_\u003CN>\",\n  \"message\": \"Augmentation actions submitted successfully\"\n}\n```\n\n**Errors:**\n- `400` — Missing `label_data_id`, dataset path not found, `actions.json` missing, or no video folders\n- `500` — Internal server error\n\n### GET \u002Fapi\u002Fv1\u002Faugmentation_status\u002F{dataset_id}\n\nPoll augmentation progress.\n\n| Parameter | Location | Required | Description |\n|-----------|----------|----------|-------------|\n| `dataset_id` | path | yes | The augmented dataset ID (returned by POST) |\n\n**Response (200):**\n```json\n{\n  \"dataset_id\": \"\u003Caugmented_dataset_id>\",\n  \"status\": \"running\",\n  \"progress\": 50.0\n}\n```\n\n**Status values:** `pending` | `running` | `completed` | `failed`\n\n**Progress:** Float 0.0–100.0 (percentage of stages that finished or failed). With default 4 stages: 25% = 1 done (BCQ), 50% = 2 done (+MCQ), 75% = 3 done (+Golden GQA), 100% = all done (+GQAs).\n\n### GET \u002Fapi\u002Fv1\u002Faugmented_datasets\n\nList all completed augmented datasets with statistics.\n\n**Response (200):**\n```json\n{\n  \"\u003Caugmented_dataset_id>\": {\n    \"status\": \"completed\",\n    \"video_count\": 3,\n    \"total_clips\": 12\n  }\n}\n```\n\n### GET \u002Fhealth\n\nHealth check.\n\n**Response (200):**\n```json\n{\n  \"message\": \"VLM Data Augmentation API is running\",\n  \"status\": \"healthy\"\n}\n```\n\n## Augmentation Types\n\n7 types, executed sequentially. Each independently enabled\u002Fdisabled in config. Default: first 4 enabled.\n\n| # | Type | Default | Purpose | Key Params |\n|---|------|---------|---------|------------|\n| 1 | **BCQ** (Binary Choice QA) | Enabled | Yes\u002Fno questions for action presence\u002Fabsence | `negative_ratio`, `subject` |\n| 2 | **Sequential MCQ** | Enabled | Multi-choice from consecutive action sequences | `max_chunk_len` |\n| 3 | **Golden GQA** | Enabled | Template-based Q&A (one per action) | — |\n| 4 | **GQAs** (LLM-expanded) | Enabled | LLM generates multiple Q&A variations per action | `llm_type`, `llm`, `num_qa_llm` |\n| 5 | **Dynamic MCQ** | Disabled | Hard negative mining with confusable\u002Fadjacent actions | `non_sop_action`, `num_pos\u002Fneg`, hard modes |\n| 6 | **Dynamic Shuffling** | Disabled | Frame-shuffled noise videos as negatives | `non_sop_action`, `num_runs`, `num_hard_neg` |\n| 7 | **Extra Negative** | Disabled | Cross-SOP negatives from different datasets | `non_sop_action`, `extra_negative_data_id` |\n\nStages 5-7 require `non_sop_action` (the \"none of the above\" action index from your `actions.json`).\n\nFor detailed config parameters, examples, hard mode explanations, and guidance on when to enable each type, read `references\u002Faugmentation-types.md`.\n\n## Config File Reference\n\nThe config file is at `assets\u002Fconfig\u002Faugment_config.yaml` (mounted volume — edit on host, no rebuild needed).\n\nKey concepts:\n- **`non_sop_action`:** Action index for \"none of the above.\" Required for dynamic_mcq, dynamic_shuffling, extra_negative.\n- **`exclude_action`:** Underscore-separated indices to skip (e.g., `\"1_2\"` excludes actions 1 and 2).\n- **`extra_negative_data_id`:** Must be a different annotated dataset ID already in `assets\u002Fdata\u002F`.\n\nFor the full annotated config template with all parameters, read `references\u002Fconfig-template.md`.\n\n## Reference Configurations\n\nThese are templates for **first-time setup**, not actions to take when a config already exists. If `assets\u002Fconfig\u002Faugment_config.yaml` is already populated, see the Configuration policy in the Workflow section.\n\n### Template: 4-stage starter (BCQ + sequential MCQ + golden GQA + GQAs)\n\nProduces well-rounded training data without requiring `non_sop_action` setup. Use this only when initializing a fresh config.\n\n```yaml\nbcq:\n  enable: true\nsequential_mcq:\n  enable: true\ngolden_gqa:\n  enable: true\ngqas:\n  enable: true\n```\n\n### Template: All 7 stages\n\nEnable all stages. Requires `non_sop_action` and (for extra_negative) a second annotated dataset.\n\nSet `non_sop_action` in dynamic_mcq, dynamic_shuffling, and extra_negative to your dataset's \"none of the above\" action index. Set `extra_negative_data_id` to a different dataset's ID.\n\nStart conservative: `num_pos: 1, num_neg: 2` for dynamic_mcq. `num_runs: 1` for dynamic_shuffling and extra_negative.\n\n### Template: Local LLM for GQAs\n\nTo use a self-hosted vllm server instead of NVIDIA NIM. Replace `\u003Cserved_model_id>` with the exact id reported by `curl \u003Clocal_llm_url>\u002Fmodels`:\n\n```yaml\ngqas:\n  enable: true\n  llm_type: \"local\"\n  local_llm_url: \"http:\u002F\u002F\u003Cllm_server_ip>:\u003Cport>\u002Fv1\"    # Must include \u002Fv1\n  llm: \u003Cserved_model_id>                                # exact id from \u002Fv1\u002Fmodels — do not guess\n  enable_thinking: \"false\"                              # Set for thinking-mode models\n```\n\n## Output Structure\n\nAfter successful augmentation, a new directory is created:\n\n```\nassets\u002Fdata\u002F\u003Cdataset_id>_augmented_\u003CN>\u002F\n  bcq\u002F                  # Binary choice QA\n    videos\u002F             # Copied video files\n    bcq.json            # LLaVA-format annotations\n  mcq\u002F                  # Sequential multiple choice QA\n    videos\u002F             # Includes merged multi-action videos\n    mcq.json\n  golden_gqa\u002F           # Golden grounded QA\n    videos\u002F\n    golden_gqa.json\n  gqas\u002F                 # LLM-expanded QA\n    videos\u002F\n    gqas.json\n    GQA2GQAs\u002F           # Raw LLM outputs per action per video\n  dmcq\u002F                 # Dynamic MCQ (if enabled)\n    videos\u002F\n    dmcq.json\n  ds\u002F                   # Dynamic shuffling (if enabled)\n    videos\u002F             # Contains generated shuffled videos\n    ds.json\n  en\u002F                   # Extra negative (if enabled)\n    videos\u002F\n    en.json\n```\n\nEach annotation JSON follows LLaVA format:\n```json\n[\n  {\n    \"id\": 0,\n    \"conversations\": [\n      {\"from\": \"human\", \"value\": \"\u003Cvideo>\\n\u003Cquestion>\"},\n      {\"from\": \"gpt\", \"value\": \"\u003Canswer>\"}\n    ],\n    \"video\": \"videos\u002F\u003Cfilename>.mp4\"\n  }\n]\n```\n\n## Troubleshooting\n\n| Symptom | Cause | Fix |\n|---------|-------|-----|\n| 400: \"label_data_id is required\" | Missing query parameter | Add `?label_data_id=\u003Cid>` to URL |\n| 400: \"Label data path not found\" | Dataset folder doesn't exist | Check `assets\u002Fdata\u002F\u003Cid>\u002F` exists |\n| 400: \"actions.json not found\" | Missing action definitions | Ensure `actions.json` is in dataset folder |\n| 400: \"No video folders found\" | No annotated videos | Complete video annotation first |\n| All stages FAILED | One stage failed, causing cascade | Check Docker logs for the specific stage error: `docker compose logs sop-data-gen` |\n| Output directory missing after failure | Automatic cleanup on failure | The pipeline deletes the output directory when any stage fails |\n| GQAs: LLM rate limit (429) | Too many concurrent LLM calls | Switch to local LLM, or retry later |\n| GQAs: Empty LLM response | Thinking-mode model (Qwen3 \u002F Qwen3.5 etc.) | Set `enable_thinking: \"false\"` in config |\n| Progress stuck at 0% | Augmentation still initializing | Wait and re-poll; check Docker logs for activity |\n\n**Check Docker logs:**\n```bash\ndocker compose logs sop-data-gen --tail 100 -f\n```\n\n## Important Notes\n\n- **Augmentation is async.** The POST API returns immediately with the augmented dataset ID. You must poll `augmentation_status` to track completion.\n- **Config is hot-reloadable.** The config YAML is a mounted volume — edit on host, changes take effect on next augmentation run without rebuilding the container.\n- **One failure = all fail.** If any enabled stage fails, all stages are marked as failed and the entire output directory is deleted. Check logs for the root cause.\n- **Output ID auto-increments.** The augmented dataset ID is `\u003Clabel_data_id>_augmented_\u003CN>` where N starts at 0 and increments with each new augmentation of the same source dataset.\n- **Advanced stages need `non_sop_action`.** Dynamic MCQ, Dynamic Shuffling, and Extra Negative all require the `non_sop_action` index to be correctly set to your dataset's \"none of the above\" action.\n- **Extra Negative needs a second dataset.** The `extra_negative_data_id` must point to a different annotated dataset that is already in `assets\u002Fdata\u002F`.\n- **GQAs is the only LLM-dependent stage.** All other stages are deterministic and run locally without external API calls.\n- **Adjust `min_options`\u002F`max_options` to your action count.** For a dataset with N actions, `max_options` should not exceed N.\n",{"data":38,"body":39},{"name":4,"description":6,"license":29},{"type":40,"children":41},"root",[42,50,57,63,68,79,137,143,148,418,424,455,462,489,499,505,517,597,610,622,628,640,650,663,796,802,892,913,919,947,967,973,978,1029,1035,1040,1059,1065,1071,1076,1140,1148,1245,1253,1292,1298,1303,1356,1363,1482,1518,1528,1534,1539,1546,1691,1697,1702,1709,1798,1804,1809,2136,2154,2165,2171,2183,2188,2248,2259,2265,2284,2290,2302,2420,2426,2438,2457,2478,2484,2504,2636,2642,2647,2656,2661,2957,2963,3188,3196,3241,3247,3393],{"type":43,"tag":44,"props":45,"children":46},"element","h1",{"id":4},[47],{"type":48,"value":49},"text","SOP Data Augmentation",{"type":43,"tag":51,"props":52,"children":54},"h2",{"id":53},"overview",[55],{"type":48,"value":56},"Overview",{"type":43,"tag":58,"props":59,"children":60},"p",{},[61],{"type":48,"value":62},"The Data and QA Augmentation microservice transforms annotated video data into structured question-answer (QA) formats used to train a Vision-Language Model (VLM) for SOP monitoring. It takes an annotated dataset (video action chunks with timestamps) and generates up to 7 types of QA training data — from simple binary yes\u002Fno questions to complex hard-negative mining with shuffled video frames.",{"type":43,"tag":58,"props":64,"children":65},{},[66],{"type":48,"value":67},"This skill covers how to configure, trigger, monitor, and troubleshoot the augmentation pipeline.",{"type":43,"tag":58,"props":69,"children":70},{},[71,77],{"type":43,"tag":72,"props":73,"children":74},"strong",{},[75],{"type":48,"value":76},"Bundled resources",{"type":48,"value":78}," (paths relative to this skill's directory):",{"type":43,"tag":80,"props":81,"children":82},"ul",{},[83,96,107,126],{"type":43,"tag":84,"props":85,"children":86},"li",{},[87,94],{"type":43,"tag":88,"props":89,"children":91},"code",{"className":90},[],[92],{"type":48,"value":93},"scripts\u002Flaunch_vllm.sh",{"type":48,"value":95}," — Helper to start\u002Fstop a local vLLM server for GQA generation",{"type":43,"tag":84,"props":97,"children":98},{},[99,105],{"type":43,"tag":88,"props":100,"children":102},{"className":101},[],[103],{"type":48,"value":104},"references\u002Faugmentation-types.md",{"type":48,"value":106}," — Detailed config parameters and guidance for all 7 augmentation types",{"type":43,"tag":84,"props":108,"children":109},{},[110,116,118,124],{"type":43,"tag":88,"props":111,"children":113},{"className":112},[],[114],{"type":48,"value":115},"references\u002Fconfig-template.md",{"type":48,"value":117}," — Full annotated ",{"type":43,"tag":88,"props":119,"children":121},{"className":120},[],[122],{"type":48,"value":123},"augment_config.yaml",{"type":48,"value":125}," template",{"type":43,"tag":84,"props":127,"children":128},{},[129,135],{"type":43,"tag":88,"props":130,"children":132},{"className":131},[],[133],{"type":48,"value":134},"references\u002Flaunch-vllm-usage.md",{"type":48,"value":136}," — vLLM script options and Docker details",{"type":43,"tag":51,"props":138,"children":140},{"id":139},"prerequisites",[141],{"type":48,"value":142},"Prerequisites",{"type":43,"tag":58,"props":144,"children":145},{},[146],{"type":48,"value":147},"Before running augmentation, ensure:",{"type":43,"tag":149,"props":150,"children":151},"ol",{},[152,249,328,346],{"type":43,"tag":84,"props":153,"children":154},{},[155,160,162,168,170,175],{"type":43,"tag":72,"props":156,"children":157},{},[158],{"type":48,"value":159},"Service is running:",{"type":48,"value":161}," The ",{"type":43,"tag":88,"props":163,"children":165},{"className":164},[],[166],{"type":48,"value":167},"sop-data-gen",{"type":48,"value":169}," container must be up on port ",{"type":43,"tag":72,"props":171,"children":172},{},[173],{"type":48,"value":174},"5487",{"type":43,"tag":176,"props":177,"children":182},"pre",{"className":178,"code":179,"language":180,"meta":181,"style":181},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# Verify service health\ncurl http:\u002F\u002F\u003Cserver_ip>:5487\u002Fhealth\n# Expected: {\"message\": \"VLM Data Augmentation API is running\", \"status\": \"healthy\"}\n","bash","",[183],{"type":43,"tag":88,"props":184,"children":185},{"__ignoreMap":181},[186,198,240],{"type":43,"tag":187,"props":188,"children":191},"span",{"class":189,"line":190},"line",1,[192],{"type":43,"tag":187,"props":193,"children":195},{"style":194},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[196],{"type":48,"value":197},"# Verify service health\n",{"type":43,"tag":187,"props":199,"children":201},{"class":189,"line":200},2,[202,208,214,220,225,230,235],{"type":43,"tag":187,"props":203,"children":205},{"style":204},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[206],{"type":48,"value":207},"curl",{"type":43,"tag":187,"props":209,"children":211},{"style":210},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[212],{"type":48,"value":213}," http:\u002F\u002F",{"type":43,"tag":187,"props":215,"children":217},{"style":216},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[218],{"type":48,"value":219},"\u003C",{"type":43,"tag":187,"props":221,"children":222},{"style":210},[223],{"type":48,"value":224},"server_i",{"type":43,"tag":187,"props":226,"children":228},{"style":227},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[229],{"type":48,"value":58},{"type":43,"tag":187,"props":231,"children":232},{"style":216},[233],{"type":48,"value":234},">",{"type":43,"tag":187,"props":236,"children":237},{"style":210},[238],{"type":48,"value":239},":5487\u002Fhealth\n",{"type":43,"tag":187,"props":241,"children":243},{"class":189,"line":242},3,[244],{"type":43,"tag":187,"props":245,"children":246},{"style":194},[247],{"type":48,"value":248},"# Expected: {\"message\": \"VLM Data Augmentation API is running\", \"status\": \"healthy\"}\n",{"type":43,"tag":84,"props":250,"children":251},{},[252,257,259,265,267],{"type":43,"tag":72,"props":253,"children":254},{},[255],{"type":48,"value":256},"Annotated dataset exists:",{"type":48,"value":258}," The dataset must be in ",{"type":43,"tag":88,"props":260,"children":262},{"className":261},[],[263],{"type":48,"value":264},"assets\u002Fdata\u002F\u003Cdataset_id>\u002F",{"type":48,"value":266}," with:",{"type":43,"tag":80,"props":268,"children":269},{},[270,289],{"type":43,"tag":84,"props":271,"children":272},{},[273,279,281,287],{"type":43,"tag":88,"props":274,"children":276},{"className":275},[],[277],{"type":48,"value":278},"actions.json",{"type":48,"value":280}," — action definitions (e.g., ",{"type":43,"tag":88,"props":282,"children":284},{"className":283},[],[285],{"type":48,"value":286},"{\"actions\": [\"(1) standing by...\", \"(2) installing...\"]}",{"type":48,"value":288},")",{"type":43,"tag":84,"props":290,"children":291},{},[292,294,300,302],{"type":48,"value":293},"One or more video folders (e.g., ",{"type":43,"tag":88,"props":295,"children":297},{"className":296},[],[298],{"type":48,"value":299},"video-1-pass\u002F",{"type":48,"value":301},") each containing:\n",{"type":43,"tag":80,"props":303,"children":304},{},[305,317],{"type":43,"tag":84,"props":306,"children":307},{},[308,310,316],{"type":48,"value":309},"Action video chunks (mp4 files named ",{"type":43,"tag":88,"props":311,"children":313},{"className":312},[],[314],{"type":48,"value":315},"\u003Caction_number>_\u003Cvideo_name>_\u003Cduplication>_\u003Ctimeline>.mp4",{"type":48,"value":288},{"type":43,"tag":84,"props":318,"children":319},{},[320,326],{"type":43,"tag":88,"props":321,"children":323},{"className":322},[],[324],{"type":48,"value":325},"\u003Cvideo_name>_annotation.json",{"type":48,"value":327}," — frame-by-frame annotations",{"type":43,"tag":84,"props":329,"children":330},{},[331,336,338,344],{"type":43,"tag":72,"props":332,"children":333},{},[334],{"type":48,"value":335},"Config file prepared:",{"type":48,"value":337}," ",{"type":43,"tag":88,"props":339,"children":341},{"className":340},[],[342],{"type":48,"value":343},"assets\u002Fconfig\u002Faugment_config.yaml",{"type":48,"value":345}," configured with desired parameters",{"type":43,"tag":84,"props":347,"children":348},{},[349,354,356],{"type":43,"tag":72,"props":350,"children":351},{},[352],{"type":48,"value":353},"LLM access (for GQAs stage only):",{"type":48,"value":355}," The GQAs stage requires an LLM. Two options:",{"type":43,"tag":80,"props":357,"children":358},{},[359,393],{"type":43,"tag":84,"props":360,"children":361},{},[362,367,369,375,377,383,385,391],{"type":43,"tag":72,"props":363,"children":364},{},[365],{"type":48,"value":366},"NVIDIA NIM API:",{"type":48,"value":368}," Set ",{"type":43,"tag":88,"props":370,"children":372},{"className":371},[],[373],{"type":48,"value":374},"NGC_API_KEY",{"type":48,"value":376}," in ",{"type":43,"tag":88,"props":378,"children":380},{"className":379},[],[381],{"type":48,"value":382},".env",{"type":48,"value":384}," and configure ",{"type":43,"tag":88,"props":386,"children":388},{"className":387},[],[389],{"type":48,"value":390},"llm_type: \"nvidia\"",{"type":48,"value":392}," in the config",{"type":43,"tag":84,"props":394,"children":395},{},[396,401,403,408,410,416],{"type":43,"tag":72,"props":397,"children":398},{},[399],{"type":48,"value":400},"Local LLM (no API key needed):",{"type":48,"value":402}," Use the helper script ",{"type":43,"tag":88,"props":404,"children":406},{"className":405},[],[407],{"type":48,"value":93},{"type":48,"value":409}," to start a local vLLM server, then configure ",{"type":43,"tag":88,"props":411,"children":413},{"className":412},[],[414],{"type":48,"value":415},"llm_type: \"local\"",{"type":48,"value":417}," in the config. See the workflow below for details.",{"type":43,"tag":51,"props":419,"children":421},{"id":420},"workflow",[422],{"type":48,"value":423},"Workflow",{"type":43,"tag":58,"props":425,"children":426},{},[427,429,434,436,441,443],{"type":48,"value":428},"If the user has an NVIDIA API key (",{"type":43,"tag":88,"props":430,"children":432},{"className":431},[],[433],{"type":48,"value":374},{"type":48,"value":435}," set in ",{"type":43,"tag":88,"props":437,"children":439},{"className":438},[],[440],{"type":48,"value":382},{"type":48,"value":442},"), use the NVIDIA NIM path. If not, use the local LLM path — start vLLM before augmentation and stop it after to free GPU memory.\n",{"type":43,"tag":72,"props":444,"children":445},{},[446,448,453],{"type":48,"value":447},"Note: The ",{"type":43,"tag":88,"props":449,"children":451},{"className":450},[],[452],{"type":48,"value":374},{"type":48,"value":454}," might set to a placeholder, do check if the value is a valid NVIDIA API key before deciding to use NVIDIA NIM",{"type":43,"tag":456,"props":457,"children":459},"h3",{"id":458},"configuration-policy-read-before-editing-the-config",[460],{"type":48,"value":461},"Configuration policy (read before editing the config)",{"type":43,"tag":58,"props":463,"children":464},{},[465,467,472,474,480,482,487],{"type":48,"value":466},"Treat the user's existing ",{"type":43,"tag":88,"props":468,"children":470},{"className":469},[],[471],{"type":48,"value":343},{"type":48,"value":473}," as authoritative for ",{"type":43,"tag":475,"props":476,"children":477},"em",{},[478],{"type":48,"value":479},"which stages",{"type":48,"value":481}," are enabled. Only modify the ",{"type":43,"tag":475,"props":483,"children":484},{},[485],{"type":48,"value":486},"minimum",{"type":48,"value":488}," settings required to satisfy the request.",{"type":43,"tag":176,"props":490,"children":494},{"className":491,"code":493,"language":48},[492],"language-text","                                     ┌─ Has NGC_API_KEY? ─┐\n                                     │                     │\n                                    yes                    no\n                                     │                     │\n                                     │         1a. Start local vLLM\n                                     │             scripts\u002Flaunch_vllm.sh\n                                     │             (wait for ready)\n                                     │                     │\n                                     └──────────┬──────────┘\n                                                │\n                              1b. Edit augment_config.yaml\n                                                │\n                              2.  POST \u002Fapi\u002Fv1\u002Faugment\n                                                │\n                              3.  GET \u002Fapi\u002Fv1\u002Faugmentation_status\n                                  (poll until 100%)\n                                                │\n                              4.  Verify output\n                                                │\n                                     ┌─ Used local LLM? ──┐\n                                     │                     │\n                                    no                    yes\n                                     │                     │\n                                     │         5. Stop vLLM\n                                     │            scripts\u002Flaunch_vllm.sh --stop\n                                     │            (frees GPU for training)\n                                     │                     │\n                                     └──────────┬──────────┘\n                                              Done\n",[495],{"type":43,"tag":88,"props":496,"children":497},{"__ignoreMap":181},[498],{"type":48,"value":493},{"type":43,"tag":456,"props":500,"children":502},{"id":501},"step-1a-start-local-llm-skip-if-using-nvidia-nim-api",[503],{"type":48,"value":504},"Step 1a: Start Local LLM (skip if using NVIDIA NIM API)",{"type":43,"tag":58,"props":506,"children":507},{},[508,510,515],{"type":48,"value":509},"If the user does not have an NVIDIA API key, start a local vLLM server ",{"type":43,"tag":72,"props":511,"children":512},{},[513],{"type":48,"value":514},"before",{"type":48,"value":516}," editing the config:",{"type":43,"tag":176,"props":518,"children":520},{"className":178,"code":519,"language":180,"meta":181,"style":181},"# Default model on port 9000 (takes ~6 min to load)\nscripts\u002Flaunch_vllm.sh\n\n# Or with custom model\u002Fport:\nscripts\u002Flaunch_vllm.sh --model Qwen\u002FQwen2.5-7B --port 8000 --tp 2\n",[521],{"type":43,"tag":88,"props":522,"children":523},{"__ignoreMap":181},[524,532,540,549,558],{"type":43,"tag":187,"props":525,"children":526},{"class":189,"line":190},[527],{"type":43,"tag":187,"props":528,"children":529},{"style":194},[530],{"type":48,"value":531},"# Default model on port 9000 (takes ~6 min to load)\n",{"type":43,"tag":187,"props":533,"children":534},{"class":189,"line":200},[535],{"type":43,"tag":187,"props":536,"children":537},{"style":204},[538],{"type":48,"value":539},"scripts\u002Flaunch_vllm.sh\n",{"type":43,"tag":187,"props":541,"children":542},{"class":189,"line":242},[543],{"type":43,"tag":187,"props":544,"children":546},{"emptyLinePlaceholder":545},true,[547],{"type":48,"value":548},"\n",{"type":43,"tag":187,"props":550,"children":552},{"class":189,"line":551},4,[553],{"type":43,"tag":187,"props":554,"children":555},{"style":194},[556],{"type":48,"value":557},"# Or with custom model\u002Fport:\n",{"type":43,"tag":187,"props":559,"children":561},{"class":189,"line":560},5,[562,566,571,576,581,587,592],{"type":43,"tag":187,"props":563,"children":564},{"style":204},[565],{"type":48,"value":93},{"type":43,"tag":187,"props":567,"children":568},{"style":210},[569],{"type":48,"value":570}," --model",{"type":43,"tag":187,"props":572,"children":573},{"style":210},[574],{"type":48,"value":575}," Qwen\u002FQwen2.5-7B",{"type":43,"tag":187,"props":577,"children":578},{"style":210},[579],{"type":48,"value":580}," --port",{"type":43,"tag":187,"props":582,"children":584},{"style":583},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[585],{"type":48,"value":586}," 8000",{"type":43,"tag":187,"props":588,"children":589},{"style":210},[590],{"type":48,"value":591}," --tp",{"type":43,"tag":187,"props":593,"children":594},{"style":583},[595],{"type":48,"value":596}," 2\n",{"type":43,"tag":58,"props":598,"children":599},{},[600,602,608],{"type":48,"value":601},"When ready, the script prints a ready-to-paste ",{"type":43,"tag":88,"props":603,"children":605},{"className":604},[],[606],{"type":48,"value":607},"gqas:",{"type":48,"value":609}," config snippet (with the actual served model id, machine IP, and port). Capture that snippet — Step 1b uses it verbatim.",{"type":43,"tag":58,"props":611,"children":612},{},[613,615,620],{"type":48,"value":614},"For full script options, see ",{"type":43,"tag":88,"props":616,"children":618},{"className":617},[],[619],{"type":48,"value":134},{"type":48,"value":621},".",{"type":43,"tag":456,"props":623,"children":625},{"id":624},"step-1b-configure",[626],{"type":48,"value":627},"Step 1b: Configure",{"type":43,"tag":58,"props":629,"children":630},{},[631,633,638],{"type":48,"value":632},"Edit ",{"type":43,"tag":88,"props":634,"children":636},{"className":635},[],[637],{"type":48,"value":343},{"type":48,"value":639}," on the host machine. The file is mounted into the container — no rebuild needed.",{"type":43,"tag":58,"props":641,"children":642},{},[643,648],{"type":43,"tag":72,"props":644,"children":645},{},[646],{"type":48,"value":647},"Per the Configuration policy above:",{"type":48,"value":649}," only change fields that are required for the request.",{"type":43,"tag":58,"props":651,"children":652},{},[653,655,661],{"type":48,"value":654},"For local LLM, ensure the ",{"type":43,"tag":88,"props":656,"children":658},{"className":657},[],[659],{"type":48,"value":660},"gqas",{"type":48,"value":662}," section has:",{"type":43,"tag":176,"props":664,"children":668},{"className":665,"code":666,"language":667,"meta":181,"style":181},"language-yaml shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","gqas:\n  llm_type: \"local\"\n  local_llm_url: \"http:\u002F\u002F\u003Cvllm_machine_ip>:\u003Cport>\u002Fv1\"   # from launch_vllm.sh output\n  llm: \u003Cserved_model_id>                                # exact id from \u002Fv1\u002Fmodels — do not guess\n  enable_thinking: \"false\"                              # required for thinking-mode models\n","yaml",[669],{"type":43,"tag":88,"props":670,"children":671},{"__ignoreMap":181},[672,685,713,744,766],{"type":43,"tag":187,"props":673,"children":674},{"class":189,"line":190},[675,680],{"type":43,"tag":187,"props":676,"children":678},{"style":677},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[679],{"type":48,"value":660},{"type":43,"tag":187,"props":681,"children":682},{"style":216},[683],{"type":48,"value":684},":\n",{"type":43,"tag":187,"props":686,"children":687},{"class":189,"line":200},[688,693,698,703,708],{"type":43,"tag":187,"props":689,"children":690},{"style":677},[691],{"type":48,"value":692},"  llm_type",{"type":43,"tag":187,"props":694,"children":695},{"style":216},[696],{"type":48,"value":697},":",{"type":43,"tag":187,"props":699,"children":700},{"style":216},[701],{"type":48,"value":702}," \"",{"type":43,"tag":187,"props":704,"children":705},{"style":210},[706],{"type":48,"value":707},"local",{"type":43,"tag":187,"props":709,"children":710},{"style":216},[711],{"type":48,"value":712},"\"\n",{"type":43,"tag":187,"props":714,"children":715},{"class":189,"line":242},[716,721,725,729,734,739],{"type":43,"tag":187,"props":717,"children":718},{"style":677},[719],{"type":48,"value":720},"  local_llm_url",{"type":43,"tag":187,"props":722,"children":723},{"style":216},[724],{"type":48,"value":697},{"type":43,"tag":187,"props":726,"children":727},{"style":216},[728],{"type":48,"value":702},{"type":43,"tag":187,"props":730,"children":731},{"style":210},[732],{"type":48,"value":733},"http:\u002F\u002F\u003Cvllm_machine_ip>:\u003Cport>\u002Fv1",{"type":43,"tag":187,"props":735,"children":736},{"style":216},[737],{"type":48,"value":738},"\"",{"type":43,"tag":187,"props":740,"children":741},{"style":194},[742],{"type":48,"value":743},"   # from launch_vllm.sh output\n",{"type":43,"tag":187,"props":745,"children":746},{"class":189,"line":551},[747,752,756,761],{"type":43,"tag":187,"props":748,"children":749},{"style":677},[750],{"type":48,"value":751},"  llm",{"type":43,"tag":187,"props":753,"children":754},{"style":216},[755],{"type":48,"value":697},{"type":43,"tag":187,"props":757,"children":758},{"style":210},[759],{"type":48,"value":760}," \u003Cserved_model_id>",{"type":43,"tag":187,"props":762,"children":763},{"style":194},[764],{"type":48,"value":765},"                                # exact id from \u002Fv1\u002Fmodels — do not guess\n",{"type":43,"tag":187,"props":767,"children":768},{"class":189,"line":560},[769,774,778,782,787,791],{"type":43,"tag":187,"props":770,"children":771},{"style":677},[772],{"type":48,"value":773},"  enable_thinking",{"type":43,"tag":187,"props":775,"children":776},{"style":216},[777],{"type":48,"value":697},{"type":43,"tag":187,"props":779,"children":780},{"style":216},[781],{"type":48,"value":702},{"type":43,"tag":187,"props":783,"children":784},{"style":210},[785],{"type":48,"value":786},"false",{"type":43,"tag":187,"props":788,"children":789},{"style":216},[790],{"type":48,"value":738},{"type":43,"tag":187,"props":792,"children":793},{"style":194},[794],{"type":48,"value":795},"                              # required for thinking-mode models\n",{"type":43,"tag":456,"props":797,"children":799},{"id":798},"step-2-trigger",[800],{"type":48,"value":801},"Step 2: Trigger",{"type":43,"tag":176,"props":803,"children":805},{"className":178,"code":804,"language":180,"meta":181,"style":181},"curl -X POST \\\n  'http:\u002F\u002F\u003Cserver_ip>:5487\u002Fapi\u002Fv1\u002Faugment?label_data_id=\u003Cdataset_id>' \\\n  -H 'accept: application\u002Fjson' \\\n  -d ''\n",[806],{"type":43,"tag":88,"props":807,"children":808},{"__ignoreMap":181},[809,831,853,879],{"type":43,"tag":187,"props":810,"children":811},{"class":189,"line":190},[812,816,821,826],{"type":43,"tag":187,"props":813,"children":814},{"style":204},[815],{"type":48,"value":207},{"type":43,"tag":187,"props":817,"children":818},{"style":210},[819],{"type":48,"value":820}," -X",{"type":43,"tag":187,"props":822,"children":823},{"style":210},[824],{"type":48,"value":825}," POST",{"type":43,"tag":187,"props":827,"children":828},{"style":227},[829],{"type":48,"value":830}," \\\n",{"type":43,"tag":187,"props":832,"children":833},{"class":189,"line":200},[834,839,844,849],{"type":43,"tag":187,"props":835,"children":836},{"style":216},[837],{"type":48,"value":838},"  '",{"type":43,"tag":187,"props":840,"children":841},{"style":210},[842],{"type":48,"value":843},"http:\u002F\u002F\u003Cserver_ip>:5487\u002Fapi\u002Fv1\u002Faugment?label_data_id=\u003Cdataset_id>",{"type":43,"tag":187,"props":845,"children":846},{"style":216},[847],{"type":48,"value":848},"'",{"type":43,"tag":187,"props":850,"children":851},{"style":227},[852],{"type":48,"value":830},{"type":43,"tag":187,"props":854,"children":855},{"class":189,"line":242},[856,861,866,871,875],{"type":43,"tag":187,"props":857,"children":858},{"style":210},[859],{"type":48,"value":860},"  -H",{"type":43,"tag":187,"props":862,"children":863},{"style":216},[864],{"type":48,"value":865}," '",{"type":43,"tag":187,"props":867,"children":868},{"style":210},[869],{"type":48,"value":870},"accept: application\u002Fjson",{"type":43,"tag":187,"props":872,"children":873},{"style":216},[874],{"type":48,"value":848},{"type":43,"tag":187,"props":876,"children":877},{"style":227},[878],{"type":48,"value":830},{"type":43,"tag":187,"props":880,"children":881},{"class":189,"line":551},[882,887],{"type":43,"tag":187,"props":883,"children":884},{"style":210},[885],{"type":48,"value":886},"  -d",{"type":43,"tag":187,"props":888,"children":889},{"style":216},[890],{"type":48,"value":891}," ''\n",{"type":43,"tag":58,"props":893,"children":894},{},[895,897,903,905,911],{"type":48,"value":896},"The ",{"type":43,"tag":88,"props":898,"children":900},{"className":899},[],[901],{"type":48,"value":902},"label_data_id",{"type":48,"value":904}," is the dataset folder name under ",{"type":43,"tag":88,"props":906,"children":908},{"className":907},[],[909],{"type":48,"value":910},"assets\u002Fdata\u002F",{"type":48,"value":912},". This is the original annotated dataset ID (not an augmented one).",{"type":43,"tag":456,"props":914,"children":916},{"id":915},"step-3-poll-status",[917],{"type":48,"value":918},"Step 3: Poll Status",{"type":43,"tag":176,"props":920,"children":922},{"className":178,"code":921,"language":180,"meta":181,"style":181},"curl 'http:\u002F\u002F\u003Cserver_ip>:5487\u002Fapi\u002Fv1\u002Faugmentation_status\u002F\u003Caugmented_dataset_id>'\n",[923],{"type":43,"tag":88,"props":924,"children":925},{"__ignoreMap":181},[926],{"type":43,"tag":187,"props":927,"children":928},{"class":189,"line":190},[929,933,937,942],{"type":43,"tag":187,"props":930,"children":931},{"style":204},[932],{"type":48,"value":207},{"type":43,"tag":187,"props":934,"children":935},{"style":216},[936],{"type":48,"value":865},{"type":43,"tag":187,"props":938,"children":939},{"style":210},[940],{"type":48,"value":941},"http:\u002F\u002F\u003Cserver_ip>:5487\u002Fapi\u002Fv1\u002Faugmentation_status\u002F\u003Caugmented_dataset_id>",{"type":43,"tag":187,"props":943,"children":944},{"style":216},[945],{"type":48,"value":946},"'\n",{"type":43,"tag":58,"props":948,"children":949},{},[950,951,957,959,965],{"type":48,"value":896},{"type":43,"tag":88,"props":952,"children":954},{"className":953},[],[955],{"type":48,"value":956},"augmented_dataset_id",{"type":48,"value":958}," is returned by the POST request (format: ",{"type":43,"tag":88,"props":960,"children":962},{"className":961},[],[963],{"type":48,"value":964},"\u003Clabel_data_id>_augmented_\u003CN>",{"type":48,"value":966},").",{"type":43,"tag":456,"props":968,"children":970},{"id":969},"step-4-verify-output",[971],{"type":48,"value":972},"Step 4: Verify Output",{"type":43,"tag":58,"props":974,"children":975},{},[976],{"type":48,"value":977},"Check the output directory exists and contains expected subdirectories:",{"type":43,"tag":176,"props":979,"children":981},{"className":178,"code":980,"language":180,"meta":181,"style":181},"ls assets\u002Fdata\u002F\u003Caugmented_dataset_id>\u002F\n# Expected: bcq\u002F mcq\u002F golden_gqa\u002F gqas\u002F (and dmcq\u002F ds\u002F en\u002F if those stages were enabled)\n",[982],{"type":43,"tag":88,"props":983,"children":984},{"__ignoreMap":181},[985,1021],{"type":43,"tag":187,"props":986,"children":987},{"class":189,"line":190},[988,993,998,1002,1007,1012,1016],{"type":43,"tag":187,"props":989,"children":990},{"style":204},[991],{"type":48,"value":992},"ls",{"type":43,"tag":187,"props":994,"children":995},{"style":210},[996],{"type":48,"value":997}," assets\u002Fdata\u002F",{"type":43,"tag":187,"props":999,"children":1000},{"style":216},[1001],{"type":48,"value":219},{"type":43,"tag":187,"props":1003,"children":1004},{"style":210},[1005],{"type":48,"value":1006},"augmented_dataset_i",{"type":43,"tag":187,"props":1008,"children":1009},{"style":227},[1010],{"type":48,"value":1011},"d",{"type":43,"tag":187,"props":1013,"children":1014},{"style":216},[1015],{"type":48,"value":234},{"type":43,"tag":187,"props":1017,"children":1018},{"style":210},[1019],{"type":48,"value":1020},"\u002F\n",{"type":43,"tag":187,"props":1022,"children":1023},{"class":189,"line":200},[1024],{"type":43,"tag":187,"props":1025,"children":1026},{"style":194},[1027],{"type":48,"value":1028},"# Expected: bcq\u002F mcq\u002F golden_gqa\u002F gqas\u002F (and dmcq\u002F ds\u002F en\u002F if those stages were enabled)\n",{"type":43,"tag":456,"props":1030,"children":1032},{"id":1031},"step-5-stop-local-llm-skip-if-using-nvidia-nim-api",[1033],{"type":48,"value":1034},"Step 5: Stop Local LLM (skip if using NVIDIA NIM API)",{"type":43,"tag":58,"props":1036,"children":1037},{},[1038],{"type":48,"value":1039},"After augmentation completes, stop the vLLM server to free GPU memory for downstream tasks (e.g., VLM fine-tuning, DDM training):",{"type":43,"tag":176,"props":1041,"children":1043},{"className":178,"code":1042,"language":180,"meta":181,"style":181},"scripts\u002Flaunch_vllm.sh --stop\n",[1044],{"type":43,"tag":88,"props":1045,"children":1046},{"__ignoreMap":181},[1047],{"type":43,"tag":187,"props":1048,"children":1049},{"class":189,"line":190},[1050,1054],{"type":43,"tag":187,"props":1051,"children":1052},{"style":204},[1053],{"type":48,"value":93},{"type":43,"tag":187,"props":1055,"children":1056},{"style":210},[1057],{"type":48,"value":1058}," --stop\n",{"type":43,"tag":51,"props":1060,"children":1062},{"id":1061},"api-reference",[1063],{"type":48,"value":1064},"API Reference",{"type":43,"tag":456,"props":1066,"children":1068},{"id":1067},"post-apiv1augment",[1069],{"type":48,"value":1070},"POST \u002Fapi\u002Fv1\u002Faugment",{"type":43,"tag":58,"props":1072,"children":1073},{},[1074],{"type":48,"value":1075},"Trigger a data augmentation job. Runs asynchronously — returns immediately.",{"type":43,"tag":1077,"props":1078,"children":1079},"table",{},[1080,1109],{"type":43,"tag":1081,"props":1082,"children":1083},"thead",{},[1084],{"type":43,"tag":1085,"props":1086,"children":1087},"tr",{},[1088,1094,1099,1104],{"type":43,"tag":1089,"props":1090,"children":1091},"th",{},[1092],{"type":48,"value":1093},"Parameter",{"type":43,"tag":1089,"props":1095,"children":1096},{},[1097],{"type":48,"value":1098},"Location",{"type":43,"tag":1089,"props":1100,"children":1101},{},[1102],{"type":48,"value":1103},"Required",{"type":43,"tag":1089,"props":1105,"children":1106},{},[1107],{"type":48,"value":1108},"Description",{"type":43,"tag":1110,"props":1111,"children":1112},"tbody",{},[1113],{"type":43,"tag":1085,"props":1114,"children":1115},{},[1116,1125,1130,1135],{"type":43,"tag":1117,"props":1118,"children":1119},"td",{},[1120],{"type":43,"tag":88,"props":1121,"children":1123},{"className":1122},[],[1124],{"type":48,"value":902},{"type":43,"tag":1117,"props":1126,"children":1127},{},[1128],{"type":48,"value":1129},"query",{"type":43,"tag":1117,"props":1131,"children":1132},{},[1133],{"type":48,"value":1134},"yes",{"type":43,"tag":1117,"props":1136,"children":1137},{},[1138],{"type":48,"value":1139},"ID of the annotated dataset to augment",{"type":43,"tag":58,"props":1141,"children":1142},{},[1143],{"type":43,"tag":72,"props":1144,"children":1145},{},[1146],{"type":48,"value":1147},"Response (200):",{"type":43,"tag":176,"props":1149,"children":1153},{"className":1150,"code":1151,"language":1152,"meta":181,"style":181},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"dataset_id\": \"\u003Clabel_data_id>_augmented_\u003CN>\",\n  \"message\": \"Augmentation actions submitted successfully\"\n}\n","json",[1154],{"type":43,"tag":88,"props":1155,"children":1156},{"__ignoreMap":181},[1157,1165,1204,1237],{"type":43,"tag":187,"props":1158,"children":1159},{"class":189,"line":190},[1160],{"type":43,"tag":187,"props":1161,"children":1162},{"style":216},[1163],{"type":48,"value":1164},"{\n",{"type":43,"tag":187,"props":1166,"children":1167},{"class":189,"line":200},[1168,1173,1179,1183,1187,1191,1195,1199],{"type":43,"tag":187,"props":1169,"children":1170},{"style":216},[1171],{"type":48,"value":1172},"  \"",{"type":43,"tag":187,"props":1174,"children":1176},{"style":1175},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[1177],{"type":48,"value":1178},"dataset_id",{"type":43,"tag":187,"props":1180,"children":1181},{"style":216},[1182],{"type":48,"value":738},{"type":43,"tag":187,"props":1184,"children":1185},{"style":216},[1186],{"type":48,"value":697},{"type":43,"tag":187,"props":1188,"children":1189},{"style":216},[1190],{"type":48,"value":702},{"type":43,"tag":187,"props":1192,"children":1193},{"style":210},[1194],{"type":48,"value":964},{"type":43,"tag":187,"props":1196,"children":1197},{"style":216},[1198],{"type":48,"value":738},{"type":43,"tag":187,"props":1200,"children":1201},{"style":216},[1202],{"type":48,"value":1203},",\n",{"type":43,"tag":187,"props":1205,"children":1206},{"class":189,"line":242},[1207,1211,1216,1220,1224,1228,1233],{"type":43,"tag":187,"props":1208,"children":1209},{"style":216},[1210],{"type":48,"value":1172},{"type":43,"tag":187,"props":1212,"children":1213},{"style":1175},[1214],{"type":48,"value":1215},"message",{"type":43,"tag":187,"props":1217,"children":1218},{"style":216},[1219],{"type":48,"value":738},{"type":43,"tag":187,"props":1221,"children":1222},{"style":216},[1223],{"type":48,"value":697},{"type":43,"tag":187,"props":1225,"children":1226},{"style":216},[1227],{"type":48,"value":702},{"type":43,"tag":187,"props":1229,"children":1230},{"style":210},[1231],{"type":48,"value":1232},"Augmentation actions submitted successfully",{"type":43,"tag":187,"props":1234,"children":1235},{"style":216},[1236],{"type":48,"value":712},{"type":43,"tag":187,"props":1238,"children":1239},{"class":189,"line":551},[1240],{"type":43,"tag":187,"props":1241,"children":1242},{"style":216},[1243],{"type":48,"value":1244},"}\n",{"type":43,"tag":58,"props":1246,"children":1247},{},[1248],{"type":43,"tag":72,"props":1249,"children":1250},{},[1251],{"type":48,"value":1252},"Errors:",{"type":43,"tag":80,"props":1254,"children":1255},{},[1256,1281],{"type":43,"tag":84,"props":1257,"children":1258},{},[1259,1265,1267,1272,1274,1279],{"type":43,"tag":88,"props":1260,"children":1262},{"className":1261},[],[1263],{"type":48,"value":1264},"400",{"type":48,"value":1266}," — Missing ",{"type":43,"tag":88,"props":1268,"children":1270},{"className":1269},[],[1271],{"type":48,"value":902},{"type":48,"value":1273},", dataset path not found, ",{"type":43,"tag":88,"props":1275,"children":1277},{"className":1276},[],[1278],{"type":48,"value":278},{"type":48,"value":1280}," missing, or no video folders",{"type":43,"tag":84,"props":1282,"children":1283},{},[1284,1290],{"type":43,"tag":88,"props":1285,"children":1287},{"className":1286},[],[1288],{"type":48,"value":1289},"500",{"type":48,"value":1291}," — Internal server error",{"type":43,"tag":456,"props":1293,"children":1295},{"id":1294},"get-apiv1augmentation_statusdataset_id",[1296],{"type":48,"value":1297},"GET \u002Fapi\u002Fv1\u002Faugmentation_status\u002F{dataset_id}",{"type":43,"tag":58,"props":1299,"children":1300},{},[1301],{"type":48,"value":1302},"Poll augmentation progress.",{"type":43,"tag":1077,"props":1304,"children":1305},{},[1306,1328],{"type":43,"tag":1081,"props":1307,"children":1308},{},[1309],{"type":43,"tag":1085,"props":1310,"children":1311},{},[1312,1316,1320,1324],{"type":43,"tag":1089,"props":1313,"children":1314},{},[1315],{"type":48,"value":1093},{"type":43,"tag":1089,"props":1317,"children":1318},{},[1319],{"type":48,"value":1098},{"type":43,"tag":1089,"props":1321,"children":1322},{},[1323],{"type":48,"value":1103},{"type":43,"tag":1089,"props":1325,"children":1326},{},[1327],{"type":48,"value":1108},{"type":43,"tag":1110,"props":1329,"children":1330},{},[1331],{"type":43,"tag":1085,"props":1332,"children":1333},{},[1334,1342,1347,1351],{"type":43,"tag":1117,"props":1335,"children":1336},{},[1337],{"type":43,"tag":88,"props":1338,"children":1340},{"className":1339},[],[1341],{"type":48,"value":1178},{"type":43,"tag":1117,"props":1343,"children":1344},{},[1345],{"type":48,"value":1346},"path",{"type":43,"tag":1117,"props":1348,"children":1349},{},[1350],{"type":48,"value":1134},{"type":43,"tag":1117,"props":1352,"children":1353},{},[1354],{"type":48,"value":1355},"The augmented dataset ID (returned by POST)",{"type":43,"tag":58,"props":1357,"children":1358},{},[1359],{"type":43,"tag":72,"props":1360,"children":1361},{},[1362],{"type":48,"value":1147},{"type":43,"tag":176,"props":1364,"children":1366},{"className":1150,"code":1365,"language":1152,"meta":181,"style":181},"{\n  \"dataset_id\": \"\u003Caugmented_dataset_id>\",\n  \"status\": \"running\",\n  \"progress\": 50.0\n}\n",[1367],{"type":43,"tag":88,"props":1368,"children":1369},{"__ignoreMap":181},[1370,1377,1413,1450,1475],{"type":43,"tag":187,"props":1371,"children":1372},{"class":189,"line":190},[1373],{"type":43,"tag":187,"props":1374,"children":1375},{"style":216},[1376],{"type":48,"value":1164},{"type":43,"tag":187,"props":1378,"children":1379},{"class":189,"line":200},[1380,1384,1388,1392,1396,1400,1405,1409],{"type":43,"tag":187,"props":1381,"children":1382},{"style":216},[1383],{"type":48,"value":1172},{"type":43,"tag":187,"props":1385,"children":1386},{"style":1175},[1387],{"type":48,"value":1178},{"type":43,"tag":187,"props":1389,"children":1390},{"style":216},[1391],{"type":48,"value":738},{"type":43,"tag":187,"props":1393,"children":1394},{"style":216},[1395],{"type":48,"value":697},{"type":43,"tag":187,"props":1397,"children":1398},{"style":216},[1399],{"type":48,"value":702},{"type":43,"tag":187,"props":1401,"children":1402},{"style":210},[1403],{"type":48,"value":1404},"\u003Caugmented_dataset_id>",{"type":43,"tag":187,"props":1406,"children":1407},{"style":216},[1408],{"type":48,"value":738},{"type":43,"tag":187,"props":1410,"children":1411},{"style":216},[1412],{"type":48,"value":1203},{"type":43,"tag":187,"props":1414,"children":1415},{"class":189,"line":242},[1416,1420,1425,1429,1433,1437,1442,1446],{"type":43,"tag":187,"props":1417,"children":1418},{"style":216},[1419],{"type":48,"value":1172},{"type":43,"tag":187,"props":1421,"children":1422},{"style":1175},[1423],{"type":48,"value":1424},"status",{"type":43,"tag":187,"props":1426,"children":1427},{"style":216},[1428],{"type":48,"value":738},{"type":43,"tag":187,"props":1430,"children":1431},{"style":216},[1432],{"type":48,"value":697},{"type":43,"tag":187,"props":1434,"children":1435},{"style":216},[1436],{"type":48,"value":702},{"type":43,"tag":187,"props":1438,"children":1439},{"style":210},[1440],{"type":48,"value":1441},"running",{"type":43,"tag":187,"props":1443,"children":1444},{"style":216},[1445],{"type":48,"value":738},{"type":43,"tag":187,"props":1447,"children":1448},{"style":216},[1449],{"type":48,"value":1203},{"type":43,"tag":187,"props":1451,"children":1452},{"class":189,"line":551},[1453,1457,1462,1466,1470],{"type":43,"tag":187,"props":1454,"children":1455},{"style":216},[1456],{"type":48,"value":1172},{"type":43,"tag":187,"props":1458,"children":1459},{"style":1175},[1460],{"type":48,"value":1461},"progress",{"type":43,"tag":187,"props":1463,"children":1464},{"style":216},[1465],{"type":48,"value":738},{"type":43,"tag":187,"props":1467,"children":1468},{"style":216},[1469],{"type":48,"value":697},{"type":43,"tag":187,"props":1471,"children":1472},{"style":583},[1473],{"type":48,"value":1474}," 50.0\n",{"type":43,"tag":187,"props":1476,"children":1477},{"class":189,"line":560},[1478],{"type":43,"tag":187,"props":1479,"children":1480},{"style":216},[1481],{"type":48,"value":1244},{"type":43,"tag":58,"props":1483,"children":1484},{},[1485,1490,1491,1497,1499,1504,1505,1511,1512],{"type":43,"tag":72,"props":1486,"children":1487},{},[1488],{"type":48,"value":1489},"Status values:",{"type":48,"value":337},{"type":43,"tag":88,"props":1492,"children":1494},{"className":1493},[],[1495],{"type":48,"value":1496},"pending",{"type":48,"value":1498}," | ",{"type":43,"tag":88,"props":1500,"children":1502},{"className":1501},[],[1503],{"type":48,"value":1441},{"type":48,"value":1498},{"type":43,"tag":88,"props":1506,"children":1508},{"className":1507},[],[1509],{"type":48,"value":1510},"completed",{"type":48,"value":1498},{"type":43,"tag":88,"props":1513,"children":1515},{"className":1514},[],[1516],{"type":48,"value":1517},"failed",{"type":43,"tag":58,"props":1519,"children":1520},{},[1521,1526],{"type":43,"tag":72,"props":1522,"children":1523},{},[1524],{"type":48,"value":1525},"Progress:",{"type":48,"value":1527}," Float 0.0–100.0 (percentage of stages that finished or failed). With default 4 stages: 25% = 1 done (BCQ), 50% = 2 done (+MCQ), 75% = 3 done (+Golden GQA), 100% = all done (+GQAs).",{"type":43,"tag":456,"props":1529,"children":1531},{"id":1530},"get-apiv1augmented_datasets",[1532],{"type":48,"value":1533},"GET \u002Fapi\u002Fv1\u002Faugmented_datasets",{"type":43,"tag":58,"props":1535,"children":1536},{},[1537],{"type":48,"value":1538},"List all completed augmented datasets with statistics.",{"type":43,"tag":58,"props":1540,"children":1541},{},[1542],{"type":43,"tag":72,"props":1543,"children":1544},{},[1545],{"type":48,"value":1147},{"type":43,"tag":176,"props":1547,"children":1549},{"className":1150,"code":1548,"language":1152,"meta":181,"style":181},"{\n  \"\u003Caugmented_dataset_id>\": {\n    \"status\": \"completed\",\n    \"video_count\": 3,\n    \"total_clips\": 12\n  }\n}\n",[1550],{"type":43,"tag":88,"props":1551,"children":1552},{"__ignoreMap":181},[1553,1560,1584,1620,1649,1674,1683],{"type":43,"tag":187,"props":1554,"children":1555},{"class":189,"line":190},[1556],{"type":43,"tag":187,"props":1557,"children":1558},{"style":216},[1559],{"type":48,"value":1164},{"type":43,"tag":187,"props":1561,"children":1562},{"class":189,"line":200},[1563,1567,1571,1575,1579],{"type":43,"tag":187,"props":1564,"children":1565},{"style":216},[1566],{"type":48,"value":1172},{"type":43,"tag":187,"props":1568,"children":1569},{"style":1175},[1570],{"type":48,"value":1404},{"type":43,"tag":187,"props":1572,"children":1573},{"style":216},[1574],{"type":48,"value":738},{"type":43,"tag":187,"props":1576,"children":1577},{"style":216},[1578],{"type":48,"value":697},{"type":43,"tag":187,"props":1580,"children":1581},{"style":216},[1582],{"type":48,"value":1583}," {\n",{"type":43,"tag":187,"props":1585,"children":1586},{"class":189,"line":242},[1587,1592,1596,1600,1604,1608,1612,1616],{"type":43,"tag":187,"props":1588,"children":1589},{"style":216},[1590],{"type":48,"value":1591},"    \"",{"type":43,"tag":187,"props":1593,"children":1594},{"style":204},[1595],{"type":48,"value":1424},{"type":43,"tag":187,"props":1597,"children":1598},{"style":216},[1599],{"type":48,"value":738},{"type":43,"tag":187,"props":1601,"children":1602},{"style":216},[1603],{"type":48,"value":697},{"type":43,"tag":187,"props":1605,"children":1606},{"style":216},[1607],{"type":48,"value":702},{"type":43,"tag":187,"props":1609,"children":1610},{"style":210},[1611],{"type":48,"value":1510},{"type":43,"tag":187,"props":1613,"children":1614},{"style":216},[1615],{"type":48,"value":738},{"type":43,"tag":187,"props":1617,"children":1618},{"style":216},[1619],{"type":48,"value":1203},{"type":43,"tag":187,"props":1621,"children":1622},{"class":189,"line":551},[1623,1627,1632,1636,1640,1645],{"type":43,"tag":187,"props":1624,"children":1625},{"style":216},[1626],{"type":48,"value":1591},{"type":43,"tag":187,"props":1628,"children":1629},{"style":204},[1630],{"type":48,"value":1631},"video_count",{"type":43,"tag":187,"props":1633,"children":1634},{"style":216},[1635],{"type":48,"value":738},{"type":43,"tag":187,"props":1637,"children":1638},{"style":216},[1639],{"type":48,"value":697},{"type":43,"tag":187,"props":1641,"children":1642},{"style":583},[1643],{"type":48,"value":1644}," 3",{"type":43,"tag":187,"props":1646,"children":1647},{"style":216},[1648],{"type":48,"value":1203},{"type":43,"tag":187,"props":1650,"children":1651},{"class":189,"line":560},[1652,1656,1661,1665,1669],{"type":43,"tag":187,"props":1653,"children":1654},{"style":216},[1655],{"type":48,"value":1591},{"type":43,"tag":187,"props":1657,"children":1658},{"style":204},[1659],{"type":48,"value":1660},"total_clips",{"type":43,"tag":187,"props":1662,"children":1663},{"style":216},[1664],{"type":48,"value":738},{"type":43,"tag":187,"props":1666,"children":1667},{"style":216},[1668],{"type":48,"value":697},{"type":43,"tag":187,"props":1670,"children":1671},{"style":583},[1672],{"type":48,"value":1673}," 12\n",{"type":43,"tag":187,"props":1675,"children":1677},{"class":189,"line":1676},6,[1678],{"type":43,"tag":187,"props":1679,"children":1680},{"style":216},[1681],{"type":48,"value":1682},"  }\n",{"type":43,"tag":187,"props":1684,"children":1686},{"class":189,"line":1685},7,[1687],{"type":43,"tag":187,"props":1688,"children":1689},{"style":216},[1690],{"type":48,"value":1244},{"type":43,"tag":456,"props":1692,"children":1694},{"id":1693},"get-health",[1695],{"type":48,"value":1696},"GET \u002Fhealth",{"type":43,"tag":58,"props":1698,"children":1699},{},[1700],{"type":48,"value":1701},"Health check.",{"type":43,"tag":58,"props":1703,"children":1704},{},[1705],{"type":43,"tag":72,"props":1706,"children":1707},{},[1708],{"type":48,"value":1147},{"type":43,"tag":176,"props":1710,"children":1712},{"className":1150,"code":1711,"language":1152,"meta":181,"style":181},"{\n  \"message\": \"VLM Data Augmentation API is running\",\n  \"status\": \"healthy\"\n}\n",[1713],{"type":43,"tag":88,"props":1714,"children":1715},{"__ignoreMap":181},[1716,1723,1759,1791],{"type":43,"tag":187,"props":1717,"children":1718},{"class":189,"line":190},[1719],{"type":43,"tag":187,"props":1720,"children":1721},{"style":216},[1722],{"type":48,"value":1164},{"type":43,"tag":187,"props":1724,"children":1725},{"class":189,"line":200},[1726,1730,1734,1738,1742,1746,1751,1755],{"type":43,"tag":187,"props":1727,"children":1728},{"style":216},[1729],{"type":48,"value":1172},{"type":43,"tag":187,"props":1731,"children":1732},{"style":1175},[1733],{"type":48,"value":1215},{"type":43,"tag":187,"props":1735,"children":1736},{"style":216},[1737],{"type":48,"value":738},{"type":43,"tag":187,"props":1739,"children":1740},{"style":216},[1741],{"type":48,"value":697},{"type":43,"tag":187,"props":1743,"children":1744},{"style":216},[1745],{"type":48,"value":702},{"type":43,"tag":187,"props":1747,"children":1748},{"style":210},[1749],{"type":48,"value":1750},"VLM Data Augmentation API is running",{"type":43,"tag":187,"props":1752,"children":1753},{"style":216},[1754],{"type":48,"value":738},{"type":43,"tag":187,"props":1756,"children":1757},{"style":216},[1758],{"type":48,"value":1203},{"type":43,"tag":187,"props":1760,"children":1761},{"class":189,"line":242},[1762,1766,1770,1774,1778,1782,1787],{"type":43,"tag":187,"props":1763,"children":1764},{"style":216},[1765],{"type":48,"value":1172},{"type":43,"tag":187,"props":1767,"children":1768},{"style":1175},[1769],{"type":48,"value":1424},{"type":43,"tag":187,"props":1771,"children":1772},{"style":216},[1773],{"type":48,"value":738},{"type":43,"tag":187,"props":1775,"children":1776},{"style":216},[1777],{"type":48,"value":697},{"type":43,"tag":187,"props":1779,"children":1780},{"style":216},[1781],{"type":48,"value":702},{"type":43,"tag":187,"props":1783,"children":1784},{"style":210},[1785],{"type":48,"value":1786},"healthy",{"type":43,"tag":187,"props":1788,"children":1789},{"style":216},[1790],{"type":48,"value":712},{"type":43,"tag":187,"props":1792,"children":1793},{"class":189,"line":551},[1794],{"type":43,"tag":187,"props":1795,"children":1796},{"style":216},[1797],{"type":48,"value":1244},{"type":43,"tag":51,"props":1799,"children":1801},{"id":1800},"augmentation-types",[1802],{"type":48,"value":1803},"Augmentation Types",{"type":43,"tag":58,"props":1805,"children":1806},{},[1807],{"type":48,"value":1808},"7 types, executed sequentially. Each independently enabled\u002Fdisabled in config. Default: first 4 enabled.",{"type":43,"tag":1077,"props":1810,"children":1811},{},[1812,1843],{"type":43,"tag":1081,"props":1813,"children":1814},{},[1815],{"type":43,"tag":1085,"props":1816,"children":1817},{},[1818,1823,1828,1833,1838],{"type":43,"tag":1089,"props":1819,"children":1820},{},[1821],{"type":48,"value":1822},"#",{"type":43,"tag":1089,"props":1824,"children":1825},{},[1826],{"type":48,"value":1827},"Type",{"type":43,"tag":1089,"props":1829,"children":1830},{},[1831],{"type":48,"value":1832},"Default",{"type":43,"tag":1089,"props":1834,"children":1835},{},[1836],{"type":48,"value":1837},"Purpose",{"type":43,"tag":1089,"props":1839,"children":1840},{},[1841],{"type":48,"value":1842},"Key Params",{"type":43,"tag":1110,"props":1844,"children":1845},{},[1846,1891,1925,1955,2005,2049,2096],{"type":43,"tag":1085,"props":1847,"children":1848},{},[1849,1854,1864,1869,1874],{"type":43,"tag":1117,"props":1850,"children":1851},{},[1852],{"type":48,"value":1853},"1",{"type":43,"tag":1117,"props":1855,"children":1856},{},[1857,1862],{"type":43,"tag":72,"props":1858,"children":1859},{},[1860],{"type":48,"value":1861},"BCQ",{"type":48,"value":1863}," (Binary Choice QA)",{"type":43,"tag":1117,"props":1865,"children":1866},{},[1867],{"type":48,"value":1868},"Enabled",{"type":43,"tag":1117,"props":1870,"children":1871},{},[1872],{"type":48,"value":1873},"Yes\u002Fno questions for action presence\u002Fabsence",{"type":43,"tag":1117,"props":1875,"children":1876},{},[1877,1883,1885],{"type":43,"tag":88,"props":1878,"children":1880},{"className":1879},[],[1881],{"type":48,"value":1882},"negative_ratio",{"type":48,"value":1884},", ",{"type":43,"tag":88,"props":1886,"children":1888},{"className":1887},[],[1889],{"type":48,"value":1890},"subject",{"type":43,"tag":1085,"props":1892,"children":1893},{},[1894,1899,1907,1911,1916],{"type":43,"tag":1117,"props":1895,"children":1896},{},[1897],{"type":48,"value":1898},"2",{"type":43,"tag":1117,"props":1900,"children":1901},{},[1902],{"type":43,"tag":72,"props":1903,"children":1904},{},[1905],{"type":48,"value":1906},"Sequential MCQ",{"type":43,"tag":1117,"props":1908,"children":1909},{},[1910],{"type":48,"value":1868},{"type":43,"tag":1117,"props":1912,"children":1913},{},[1914],{"type":48,"value":1915},"Multi-choice from consecutive action sequences",{"type":43,"tag":1117,"props":1917,"children":1918},{},[1919],{"type":43,"tag":88,"props":1920,"children":1922},{"className":1921},[],[1923],{"type":48,"value":1924},"max_chunk_len",{"type":43,"tag":1085,"props":1926,"children":1927},{},[1928,1933,1941,1945,1950],{"type":43,"tag":1117,"props":1929,"children":1930},{},[1931],{"type":48,"value":1932},"3",{"type":43,"tag":1117,"props":1934,"children":1935},{},[1936],{"type":43,"tag":72,"props":1937,"children":1938},{},[1939],{"type":48,"value":1940},"Golden GQA",{"type":43,"tag":1117,"props":1942,"children":1943},{},[1944],{"type":48,"value":1868},{"type":43,"tag":1117,"props":1946,"children":1947},{},[1948],{"type":48,"value":1949},"Template-based Q&A (one per action)",{"type":43,"tag":1117,"props":1951,"children":1952},{},[1953],{"type":48,"value":1954},"—",{"type":43,"tag":1085,"props":1956,"children":1957},{},[1958,1963,1973,1977,1982],{"type":43,"tag":1117,"props":1959,"children":1960},{},[1961],{"type":48,"value":1962},"4",{"type":43,"tag":1117,"props":1964,"children":1965},{},[1966,1971],{"type":43,"tag":72,"props":1967,"children":1968},{},[1969],{"type":48,"value":1970},"GQAs",{"type":48,"value":1972}," (LLM-expanded)",{"type":43,"tag":1117,"props":1974,"children":1975},{},[1976],{"type":48,"value":1868},{"type":43,"tag":1117,"props":1978,"children":1979},{},[1980],{"type":48,"value":1981},"LLM generates multiple Q&A variations per action",{"type":43,"tag":1117,"props":1983,"children":1984},{},[1985,1991,1992,1998,1999],{"type":43,"tag":88,"props":1986,"children":1988},{"className":1987},[],[1989],{"type":48,"value":1990},"llm_type",{"type":48,"value":1884},{"type":43,"tag":88,"props":1993,"children":1995},{"className":1994},[],[1996],{"type":48,"value":1997},"llm",{"type":48,"value":1884},{"type":43,"tag":88,"props":2000,"children":2002},{"className":2001},[],[2003],{"type":48,"value":2004},"num_qa_llm",{"type":43,"tag":1085,"props":2006,"children":2007},{},[2008,2013,2021,2026,2031],{"type":43,"tag":1117,"props":2009,"children":2010},{},[2011],{"type":48,"value":2012},"5",{"type":43,"tag":1117,"props":2014,"children":2015},{},[2016],{"type":43,"tag":72,"props":2017,"children":2018},{},[2019],{"type":48,"value":2020},"Dynamic MCQ",{"type":43,"tag":1117,"props":2022,"children":2023},{},[2024],{"type":48,"value":2025},"Disabled",{"type":43,"tag":1117,"props":2027,"children":2028},{},[2029],{"type":48,"value":2030},"Hard negative mining with confusable\u002Fadjacent actions",{"type":43,"tag":1117,"props":2032,"children":2033},{},[2034,2040,2041,2047],{"type":43,"tag":88,"props":2035,"children":2037},{"className":2036},[],[2038],{"type":48,"value":2039},"non_sop_action",{"type":48,"value":1884},{"type":43,"tag":88,"props":2042,"children":2044},{"className":2043},[],[2045],{"type":48,"value":2046},"num_pos\u002Fneg",{"type":48,"value":2048},", hard modes",{"type":43,"tag":1085,"props":2050,"children":2051},{},[2052,2057,2065,2069,2074],{"type":43,"tag":1117,"props":2053,"children":2054},{},[2055],{"type":48,"value":2056},"6",{"type":43,"tag":1117,"props":2058,"children":2059},{},[2060],{"type":43,"tag":72,"props":2061,"children":2062},{},[2063],{"type":48,"value":2064},"Dynamic Shuffling",{"type":43,"tag":1117,"props":2066,"children":2067},{},[2068],{"type":48,"value":2025},{"type":43,"tag":1117,"props":2070,"children":2071},{},[2072],{"type":48,"value":2073},"Frame-shuffled noise videos as negatives",{"type":43,"tag":1117,"props":2075,"children":2076},{},[2077,2082,2083,2089,2090],{"type":43,"tag":88,"props":2078,"children":2080},{"className":2079},[],[2081],{"type":48,"value":2039},{"type":48,"value":1884},{"type":43,"tag":88,"props":2084,"children":2086},{"className":2085},[],[2087],{"type":48,"value":2088},"num_runs",{"type":48,"value":1884},{"type":43,"tag":88,"props":2091,"children":2093},{"className":2092},[],[2094],{"type":48,"value":2095},"num_hard_neg",{"type":43,"tag":1085,"props":2097,"children":2098},{},[2099,2104,2112,2116,2121],{"type":43,"tag":1117,"props":2100,"children":2101},{},[2102],{"type":48,"value":2103},"7",{"type":43,"tag":1117,"props":2105,"children":2106},{},[2107],{"type":43,"tag":72,"props":2108,"children":2109},{},[2110],{"type":48,"value":2111},"Extra Negative",{"type":43,"tag":1117,"props":2113,"children":2114},{},[2115],{"type":48,"value":2025},{"type":43,"tag":1117,"props":2117,"children":2118},{},[2119],{"type":48,"value":2120},"Cross-SOP negatives from different datasets",{"type":43,"tag":1117,"props":2122,"children":2123},{},[2124,2129,2130],{"type":43,"tag":88,"props":2125,"children":2127},{"className":2126},[],[2128],{"type":48,"value":2039},{"type":48,"value":1884},{"type":43,"tag":88,"props":2131,"children":2133},{"className":2132},[],[2134],{"type":48,"value":2135},"extra_negative_data_id",{"type":43,"tag":58,"props":2137,"children":2138},{},[2139,2141,2146,2148,2153],{"type":48,"value":2140},"Stages 5-7 require ",{"type":43,"tag":88,"props":2142,"children":2144},{"className":2143},[],[2145],{"type":48,"value":2039},{"type":48,"value":2147}," (the \"none of the above\" action index from your ",{"type":43,"tag":88,"props":2149,"children":2151},{"className":2150},[],[2152],{"type":48,"value":278},{"type":48,"value":966},{"type":43,"tag":58,"props":2155,"children":2156},{},[2157,2159,2164],{"type":48,"value":2158},"For detailed config parameters, examples, hard mode explanations, and guidance on when to enable each type, read ",{"type":43,"tag":88,"props":2160,"children":2162},{"className":2161},[],[2163],{"type":48,"value":104},{"type":48,"value":621},{"type":43,"tag":51,"props":2166,"children":2168},{"id":2167},"config-file-reference",[2169],{"type":48,"value":2170},"Config File Reference",{"type":43,"tag":58,"props":2172,"children":2173},{},[2174,2176,2181],{"type":48,"value":2175},"The config file is at ",{"type":43,"tag":88,"props":2177,"children":2179},{"className":2178},[],[2180],{"type":48,"value":343},{"type":48,"value":2182}," (mounted volume — edit on host, no rebuild needed).",{"type":43,"tag":58,"props":2184,"children":2185},{},[2186],{"type":48,"value":2187},"Key concepts:",{"type":43,"tag":80,"props":2189,"children":2190},{},[2191,2205,2228],{"type":43,"tag":84,"props":2192,"children":2193},{},[2194,2203],{"type":43,"tag":72,"props":2195,"children":2196},{},[2197,2202],{"type":43,"tag":88,"props":2198,"children":2200},{"className":2199},[],[2201],{"type":48,"value":2039},{"type":48,"value":697},{"type":48,"value":2204}," Action index for \"none of the above.\" Required for dynamic_mcq, dynamic_shuffling, extra_negative.",{"type":43,"tag":84,"props":2206,"children":2207},{},[2208,2218,2220,2226],{"type":43,"tag":72,"props":2209,"children":2210},{},[2211,2217],{"type":43,"tag":88,"props":2212,"children":2214},{"className":2213},[],[2215],{"type":48,"value":2216},"exclude_action",{"type":48,"value":697},{"type":48,"value":2219}," Underscore-separated indices to skip (e.g., ",{"type":43,"tag":88,"props":2221,"children":2223},{"className":2222},[],[2224],{"type":48,"value":2225},"\"1_2\"",{"type":48,"value":2227}," excludes actions 1 and 2).",{"type":43,"tag":84,"props":2229,"children":2230},{},[2231,2240,2242,2247],{"type":43,"tag":72,"props":2232,"children":2233},{},[2234,2239],{"type":43,"tag":88,"props":2235,"children":2237},{"className":2236},[],[2238],{"type":48,"value":2135},{"type":48,"value":697},{"type":48,"value":2241}," Must be a different annotated dataset ID already in ",{"type":43,"tag":88,"props":2243,"children":2245},{"className":2244},[],[2246],{"type":48,"value":910},{"type":48,"value":621},{"type":43,"tag":58,"props":2249,"children":2250},{},[2251,2253,2258],{"type":48,"value":2252},"For the full annotated config template with all parameters, read ",{"type":43,"tag":88,"props":2254,"children":2256},{"className":2255},[],[2257],{"type":48,"value":115},{"type":48,"value":621},{"type":43,"tag":51,"props":2260,"children":2262},{"id":2261},"reference-configurations",[2263],{"type":48,"value":2264},"Reference Configurations",{"type":43,"tag":58,"props":2266,"children":2267},{},[2268,2270,2275,2277,2282],{"type":48,"value":2269},"These are templates for ",{"type":43,"tag":72,"props":2271,"children":2272},{},[2273],{"type":48,"value":2274},"first-time setup",{"type":48,"value":2276},", not actions to take when a config already exists. If ",{"type":43,"tag":88,"props":2278,"children":2280},{"className":2279},[],[2281],{"type":48,"value":343},{"type":48,"value":2283}," is already populated, see the Configuration policy in the Workflow section.",{"type":43,"tag":456,"props":2285,"children":2287},{"id":2286},"template-4-stage-starter-bcq-sequential-mcq-golden-gqa-gqas",[2288],{"type":48,"value":2289},"Template: 4-stage starter (BCQ + sequential MCQ + golden GQA + GQAs)",{"type":43,"tag":58,"props":2291,"children":2292},{},[2293,2295,2300],{"type":48,"value":2294},"Produces well-rounded training data without requiring ",{"type":43,"tag":88,"props":2296,"children":2298},{"className":2297},[],[2299],{"type":48,"value":2039},{"type":48,"value":2301}," setup. Use this only when initializing a fresh config.",{"type":43,"tag":176,"props":2303,"children":2305},{"className":665,"code":2304,"language":667,"meta":181,"style":181},"bcq:\n  enable: true\nsequential_mcq:\n  enable: true\ngolden_gqa:\n  enable: true\ngqas:\n  enable: true\n",[2306],{"type":43,"tag":88,"props":2307,"children":2308},{"__ignoreMap":181},[2309,2321,2339,2351,2366,2378,2393,2404],{"type":43,"tag":187,"props":2310,"children":2311},{"class":189,"line":190},[2312,2317],{"type":43,"tag":187,"props":2313,"children":2314},{"style":677},[2315],{"type":48,"value":2316},"bcq",{"type":43,"tag":187,"props":2318,"children":2319},{"style":216},[2320],{"type":48,"value":684},{"type":43,"tag":187,"props":2322,"children":2323},{"class":189,"line":200},[2324,2329,2333],{"type":43,"tag":187,"props":2325,"children":2326},{"style":677},[2327],{"type":48,"value":2328},"  enable",{"type":43,"tag":187,"props":2330,"children":2331},{"style":216},[2332],{"type":48,"value":697},{"type":43,"tag":187,"props":2334,"children":2336},{"style":2335},"--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC",[2337],{"type":48,"value":2338}," true\n",{"type":43,"tag":187,"props":2340,"children":2341},{"class":189,"line":242},[2342,2347],{"type":43,"tag":187,"props":2343,"children":2344},{"style":677},[2345],{"type":48,"value":2346},"sequential_mcq",{"type":43,"tag":187,"props":2348,"children":2349},{"style":216},[2350],{"type":48,"value":684},{"type":43,"tag":187,"props":2352,"children":2353},{"class":189,"line":551},[2354,2358,2362],{"type":43,"tag":187,"props":2355,"children":2356},{"style":677},[2357],{"type":48,"value":2328},{"type":43,"tag":187,"props":2359,"children":2360},{"style":216},[2361],{"type":48,"value":697},{"type":43,"tag":187,"props":2363,"children":2364},{"style":2335},[2365],{"type":48,"value":2338},{"type":43,"tag":187,"props":2367,"children":2368},{"class":189,"line":560},[2369,2374],{"type":43,"tag":187,"props":2370,"children":2371},{"style":677},[2372],{"type":48,"value":2373},"golden_gqa",{"type":43,"tag":187,"props":2375,"children":2376},{"style":216},[2377],{"type":48,"value":684},{"type":43,"tag":187,"props":2379,"children":2380},{"class":189,"line":1676},[2381,2385,2389],{"type":43,"tag":187,"props":2382,"children":2383},{"style":677},[2384],{"type":48,"value":2328},{"type":43,"tag":187,"props":2386,"children":2387},{"style":216},[2388],{"type":48,"value":697},{"type":43,"tag":187,"props":2390,"children":2391},{"style":2335},[2392],{"type":48,"value":2338},{"type":43,"tag":187,"props":2394,"children":2395},{"class":189,"line":1685},[2396,2400],{"type":43,"tag":187,"props":2397,"children":2398},{"style":677},[2399],{"type":48,"value":660},{"type":43,"tag":187,"props":2401,"children":2402},{"style":216},[2403],{"type":48,"value":684},{"type":43,"tag":187,"props":2405,"children":2407},{"class":189,"line":2406},8,[2408,2412,2416],{"type":43,"tag":187,"props":2409,"children":2410},{"style":677},[2411],{"type":48,"value":2328},{"type":43,"tag":187,"props":2413,"children":2414},{"style":216},[2415],{"type":48,"value":697},{"type":43,"tag":187,"props":2417,"children":2418},{"style":2335},[2419],{"type":48,"value":2338},{"type":43,"tag":456,"props":2421,"children":2423},{"id":2422},"template-all-7-stages",[2424],{"type":48,"value":2425},"Template: All 7 stages",{"type":43,"tag":58,"props":2427,"children":2428},{},[2429,2431,2436],{"type":48,"value":2430},"Enable all stages. Requires ",{"type":43,"tag":88,"props":2432,"children":2434},{"className":2433},[],[2435],{"type":48,"value":2039},{"type":48,"value":2437}," and (for extra_negative) a second annotated dataset.",{"type":43,"tag":58,"props":2439,"children":2440},{},[2441,2443,2448,2450,2455],{"type":48,"value":2442},"Set ",{"type":43,"tag":88,"props":2444,"children":2446},{"className":2445},[],[2447],{"type":48,"value":2039},{"type":48,"value":2449}," in dynamic_mcq, dynamic_shuffling, and extra_negative to your dataset's \"none of the above\" action index. Set ",{"type":43,"tag":88,"props":2451,"children":2453},{"className":2452},[],[2454],{"type":48,"value":2135},{"type":48,"value":2456}," to a different dataset's ID.",{"type":43,"tag":58,"props":2458,"children":2459},{},[2460,2462,2468,2470,2476],{"type":48,"value":2461},"Start conservative: ",{"type":43,"tag":88,"props":2463,"children":2465},{"className":2464},[],[2466],{"type":48,"value":2467},"num_pos: 1, num_neg: 2",{"type":48,"value":2469}," for dynamic_mcq. ",{"type":43,"tag":88,"props":2471,"children":2473},{"className":2472},[],[2474],{"type":48,"value":2475},"num_runs: 1",{"type":48,"value":2477}," for dynamic_shuffling and extra_negative.",{"type":43,"tag":456,"props":2479,"children":2481},{"id":2480},"template-local-llm-for-gqas",[2482],{"type":48,"value":2483},"Template: Local LLM for GQAs",{"type":43,"tag":58,"props":2485,"children":2486},{},[2487,2489,2495,2497,2503],{"type":48,"value":2488},"To use a self-hosted vllm server instead of NVIDIA NIM. Replace ",{"type":43,"tag":88,"props":2490,"children":2492},{"className":2491},[],[2493],{"type":48,"value":2494},"\u003Cserved_model_id>",{"type":48,"value":2496}," with the exact id reported by ",{"type":43,"tag":88,"props":2498,"children":2500},{"className":2499},[],[2501],{"type":48,"value":2502},"curl \u003Clocal_llm_url>\u002Fmodels",{"type":48,"value":697},{"type":43,"tag":176,"props":2505,"children":2507},{"className":665,"code":2506,"language":667,"meta":181,"style":181},"gqas:\n  enable: true\n  llm_type: \"local\"\n  local_llm_url: \"http:\u002F\u002F\u003Cllm_server_ip>:\u003Cport>\u002Fv1\"    # Must include \u002Fv1\n  llm: \u003Cserved_model_id>                                # exact id from \u002Fv1\u002Fmodels — do not guess\n  enable_thinking: \"false\"                              # Set for thinking-mode models\n",[2508],{"type":43,"tag":88,"props":2509,"children":2510},{"__ignoreMap":181},[2511,2522,2537,2560,2589,2608],{"type":43,"tag":187,"props":2512,"children":2513},{"class":189,"line":190},[2514,2518],{"type":43,"tag":187,"props":2515,"children":2516},{"style":677},[2517],{"type":48,"value":660},{"type":43,"tag":187,"props":2519,"children":2520},{"style":216},[2521],{"type":48,"value":684},{"type":43,"tag":187,"props":2523,"children":2524},{"class":189,"line":200},[2525,2529,2533],{"type":43,"tag":187,"props":2526,"children":2527},{"style":677},[2528],{"type":48,"value":2328},{"type":43,"tag":187,"props":2530,"children":2531},{"style":216},[2532],{"type":48,"value":697},{"type":43,"tag":187,"props":2534,"children":2535},{"style":2335},[2536],{"type":48,"value":2338},{"type":43,"tag":187,"props":2538,"children":2539},{"class":189,"line":242},[2540,2544,2548,2552,2556],{"type":43,"tag":187,"props":2541,"children":2542},{"style":677},[2543],{"type":48,"value":692},{"type":43,"tag":187,"props":2545,"children":2546},{"style":216},[2547],{"type":48,"value":697},{"type":43,"tag":187,"props":2549,"children":2550},{"style":216},[2551],{"type":48,"value":702},{"type":43,"tag":187,"props":2553,"children":2554},{"style":210},[2555],{"type":48,"value":707},{"type":43,"tag":187,"props":2557,"children":2558},{"style":216},[2559],{"type":48,"value":712},{"type":43,"tag":187,"props":2561,"children":2562},{"class":189,"line":551},[2563,2567,2571,2575,2580,2584],{"type":43,"tag":187,"props":2564,"children":2565},{"style":677},[2566],{"type":48,"value":720},{"type":43,"tag":187,"props":2568,"children":2569},{"style":216},[2570],{"type":48,"value":697},{"type":43,"tag":187,"props":2572,"children":2573},{"style":216},[2574],{"type":48,"value":702},{"type":43,"tag":187,"props":2576,"children":2577},{"style":210},[2578],{"type":48,"value":2579},"http:\u002F\u002F\u003Cllm_server_ip>:\u003Cport>\u002Fv1",{"type":43,"tag":187,"props":2581,"children":2582},{"style":216},[2583],{"type":48,"value":738},{"type":43,"tag":187,"props":2585,"children":2586},{"style":194},[2587],{"type":48,"value":2588},"    # Must include \u002Fv1\n",{"type":43,"tag":187,"props":2590,"children":2591},{"class":189,"line":560},[2592,2596,2600,2604],{"type":43,"tag":187,"props":2593,"children":2594},{"style":677},[2595],{"type":48,"value":751},{"type":43,"tag":187,"props":2597,"children":2598},{"style":216},[2599],{"type":48,"value":697},{"type":43,"tag":187,"props":2601,"children":2602},{"style":210},[2603],{"type":48,"value":760},{"type":43,"tag":187,"props":2605,"children":2606},{"style":194},[2607],{"type":48,"value":765},{"type":43,"tag":187,"props":2609,"children":2610},{"class":189,"line":1676},[2611,2615,2619,2623,2627,2631],{"type":43,"tag":187,"props":2612,"children":2613},{"style":677},[2614],{"type":48,"value":773},{"type":43,"tag":187,"props":2616,"children":2617},{"style":216},[2618],{"type":48,"value":697},{"type":43,"tag":187,"props":2620,"children":2621},{"style":216},[2622],{"type":48,"value":702},{"type":43,"tag":187,"props":2624,"children":2625},{"style":210},[2626],{"type":48,"value":786},{"type":43,"tag":187,"props":2628,"children":2629},{"style":216},[2630],{"type":48,"value":738},{"type":43,"tag":187,"props":2632,"children":2633},{"style":194},[2634],{"type":48,"value":2635},"                              # Set for thinking-mode models\n",{"type":43,"tag":51,"props":2637,"children":2639},{"id":2638},"output-structure",[2640],{"type":48,"value":2641},"Output Structure",{"type":43,"tag":58,"props":2643,"children":2644},{},[2645],{"type":48,"value":2646},"After successful augmentation, a new directory is created:",{"type":43,"tag":176,"props":2648,"children":2651},{"className":2649,"code":2650,"language":48},[492],"assets\u002Fdata\u002F\u003Cdataset_id>_augmented_\u003CN>\u002F\n  bcq\u002F                  # Binary choice QA\n    videos\u002F             # Copied video files\n    bcq.json            # LLaVA-format annotations\n  mcq\u002F                  # Sequential multiple choice QA\n    videos\u002F             # Includes merged multi-action videos\n    mcq.json\n  golden_gqa\u002F           # Golden grounded QA\n    videos\u002F\n    golden_gqa.json\n  gqas\u002F                 # LLM-expanded QA\n    videos\u002F\n    gqas.json\n    GQA2GQAs\u002F           # Raw LLM outputs per action per video\n  dmcq\u002F                 # Dynamic MCQ (if enabled)\n    videos\u002F\n    dmcq.json\n  ds\u002F                   # Dynamic shuffling (if enabled)\n    videos\u002F             # Contains generated shuffled videos\n    ds.json\n  en\u002F                   # Extra negative (if enabled)\n    videos\u002F\n    en.json\n",[2652],{"type":43,"tag":88,"props":2653,"children":2654},{"__ignoreMap":181},[2655],{"type":48,"value":2650},{"type":43,"tag":58,"props":2657,"children":2658},{},[2659],{"type":48,"value":2660},"Each annotation JSON follows LLaVA format:",{"type":43,"tag":176,"props":2662,"children":2664},{"className":1150,"code":2663,"language":1152,"meta":181,"style":181},"[\n  {\n    \"id\": 0,\n    \"conversations\": [\n      {\"from\": \"human\", \"value\": \"\u003Cvideo>\\n\u003Cquestion>\"},\n      {\"from\": \"gpt\", \"value\": \"\u003Canswer>\"}\n    ],\n    \"video\": \"videos\u002F\u003Cfilename>.mp4\"\n  }\n]\n",[2665],{"type":43,"tag":88,"props":2666,"children":2667},{"__ignoreMap":181},[2668,2676,2684,2713,2738,2826,2899,2907,2940,2948],{"type":43,"tag":187,"props":2669,"children":2670},{"class":189,"line":190},[2671],{"type":43,"tag":187,"props":2672,"children":2673},{"style":216},[2674],{"type":48,"value":2675},"[\n",{"type":43,"tag":187,"props":2677,"children":2678},{"class":189,"line":200},[2679],{"type":43,"tag":187,"props":2680,"children":2681},{"style":216},[2682],{"type":48,"value":2683},"  {\n",{"type":43,"tag":187,"props":2685,"children":2686},{"class":189,"line":242},[2687,2691,2696,2700,2704,2709],{"type":43,"tag":187,"props":2688,"children":2689},{"style":216},[2690],{"type":48,"value":1591},{"type":43,"tag":187,"props":2692,"children":2693},{"style":1175},[2694],{"type":48,"value":2695},"id",{"type":43,"tag":187,"props":2697,"children":2698},{"style":216},[2699],{"type":48,"value":738},{"type":43,"tag":187,"props":2701,"children":2702},{"style":216},[2703],{"type":48,"value":697},{"type":43,"tag":187,"props":2705,"children":2706},{"style":583},[2707],{"type":48,"value":2708}," 0",{"type":43,"tag":187,"props":2710,"children":2711},{"style":216},[2712],{"type":48,"value":1203},{"type":43,"tag":187,"props":2714,"children":2715},{"class":189,"line":551},[2716,2720,2725,2729,2733],{"type":43,"tag":187,"props":2717,"children":2718},{"style":216},[2719],{"type":48,"value":1591},{"type":43,"tag":187,"props":2721,"children":2722},{"style":1175},[2723],{"type":48,"value":2724},"conversations",{"type":43,"tag":187,"props":2726,"children":2727},{"style":216},[2728],{"type":48,"value":738},{"type":43,"tag":187,"props":2730,"children":2731},{"style":216},[2732],{"type":48,"value":697},{"type":43,"tag":187,"props":2734,"children":2735},{"style":216},[2736],{"type":48,"value":2737}," [\n",{"type":43,"tag":187,"props":2739,"children":2740},{"class":189,"line":560},[2741,2746,2750,2755,2759,2763,2767,2772,2776,2781,2785,2790,2794,2798,2802,2807,2812,2817,2821],{"type":43,"tag":187,"props":2742,"children":2743},{"style":216},[2744],{"type":48,"value":2745},"      {",{"type":43,"tag":187,"props":2747,"children":2748},{"style":216},[2749],{"type":48,"value":738},{"type":43,"tag":187,"props":2751,"children":2752},{"style":204},[2753],{"type":48,"value":2754},"from",{"type":43,"tag":187,"props":2756,"children":2757},{"style":216},[2758],{"type":48,"value":738},{"type":43,"tag":187,"props":2760,"children":2761},{"style":216},[2762],{"type":48,"value":697},{"type":43,"tag":187,"props":2764,"children":2765},{"style":216},[2766],{"type":48,"value":702},{"type":43,"tag":187,"props":2768,"children":2769},{"style":210},[2770],{"type":48,"value":2771},"human",{"type":43,"tag":187,"props":2773,"children":2774},{"style":216},[2775],{"type":48,"value":738},{"type":43,"tag":187,"props":2777,"children":2778},{"style":216},[2779],{"type":48,"value":2780},",",{"type":43,"tag":187,"props":2782,"children":2783},{"style":216},[2784],{"type":48,"value":702},{"type":43,"tag":187,"props":2786,"children":2787},{"style":204},[2788],{"type":48,"value":2789},"value",{"type":43,"tag":187,"props":2791,"children":2792},{"style":216},[2793],{"type":48,"value":738},{"type":43,"tag":187,"props":2795,"children":2796},{"style":216},[2797],{"type":48,"value":697},{"type":43,"tag":187,"props":2799,"children":2800},{"style":216},[2801],{"type":48,"value":702},{"type":43,"tag":187,"props":2803,"children":2804},{"style":210},[2805],{"type":48,"value":2806},"\u003Cvideo>",{"type":43,"tag":187,"props":2808,"children":2809},{"style":227},[2810],{"type":48,"value":2811},"\\n",{"type":43,"tag":187,"props":2813,"children":2814},{"style":210},[2815],{"type":48,"value":2816},"\u003Cquestion>",{"type":43,"tag":187,"props":2818,"children":2819},{"style":216},[2820],{"type":48,"value":738},{"type":43,"tag":187,"props":2822,"children":2823},{"style":216},[2824],{"type":48,"value":2825},"},\n",{"type":43,"tag":187,"props":2827,"children":2828},{"class":189,"line":1676},[2829,2833,2837,2841,2845,2849,2853,2858,2862,2866,2870,2874,2878,2882,2886,2891,2895],{"type":43,"tag":187,"props":2830,"children":2831},{"style":216},[2832],{"type":48,"value":2745},{"type":43,"tag":187,"props":2834,"children":2835},{"style":216},[2836],{"type":48,"value":738},{"type":43,"tag":187,"props":2838,"children":2839},{"style":204},[2840],{"type":48,"value":2754},{"type":43,"tag":187,"props":2842,"children":2843},{"style":216},[2844],{"type":48,"value":738},{"type":43,"tag":187,"props":2846,"children":2847},{"style":216},[2848],{"type":48,"value":697},{"type":43,"tag":187,"props":2850,"children":2851},{"style":216},[2852],{"type":48,"value":702},{"type":43,"tag":187,"props":2854,"children":2855},{"style":210},[2856],{"type":48,"value":2857},"gpt",{"type":43,"tag":187,"props":2859,"children":2860},{"style":216},[2861],{"type":48,"value":738},{"type":43,"tag":187,"props":2863,"children":2864},{"style":216},[2865],{"type":48,"value":2780},{"type":43,"tag":187,"props":2867,"children":2868},{"style":216},[2869],{"type":48,"value":702},{"type":43,"tag":187,"props":2871,"children":2872},{"style":204},[2873],{"type":48,"value":2789},{"type":43,"tag":187,"props":2875,"children":2876},{"style":216},[2877],{"type":48,"value":738},{"type":43,"tag":187,"props":2879,"children":2880},{"style":216},[2881],{"type":48,"value":697},{"type":43,"tag":187,"props":2883,"children":2884},{"style":216},[2885],{"type":48,"value":702},{"type":43,"tag":187,"props":2887,"children":2888},{"style":210},[2889],{"type":48,"value":2890},"\u003Canswer>",{"type":43,"tag":187,"props":2892,"children":2893},{"style":216},[2894],{"type":48,"value":738},{"type":43,"tag":187,"props":2896,"children":2897},{"style":216},[2898],{"type":48,"value":1244},{"type":43,"tag":187,"props":2900,"children":2901},{"class":189,"line":1685},[2902],{"type":43,"tag":187,"props":2903,"children":2904},{"style":216},[2905],{"type":48,"value":2906},"    ],\n",{"type":43,"tag":187,"props":2908,"children":2909},{"class":189,"line":2406},[2910,2914,2919,2923,2927,2931,2936],{"type":43,"tag":187,"props":2911,"children":2912},{"style":216},[2913],{"type":48,"value":1591},{"type":43,"tag":187,"props":2915,"children":2916},{"style":1175},[2917],{"type":48,"value":2918},"video",{"type":43,"tag":187,"props":2920,"children":2921},{"style":216},[2922],{"type":48,"value":738},{"type":43,"tag":187,"props":2924,"children":2925},{"style":216},[2926],{"type":48,"value":697},{"type":43,"tag":187,"props":2928,"children":2929},{"style":216},[2930],{"type":48,"value":702},{"type":43,"tag":187,"props":2932,"children":2933},{"style":210},[2934],{"type":48,"value":2935},"videos\u002F\u003Cfilename>.mp4",{"type":43,"tag":187,"props":2937,"children":2938},{"style":216},[2939],{"type":48,"value":712},{"type":43,"tag":187,"props":2941,"children":2943},{"class":189,"line":2942},9,[2944],{"type":43,"tag":187,"props":2945,"children":2946},{"style":216},[2947],{"type":48,"value":1682},{"type":43,"tag":187,"props":2949,"children":2951},{"class":189,"line":2950},10,[2952],{"type":43,"tag":187,"props":2953,"children":2954},{"style":216},[2955],{"type":48,"value":2956},"]\n",{"type":43,"tag":51,"props":2958,"children":2960},{"id":2959},"troubleshooting",[2961],{"type":48,"value":2962},"Troubleshooting",{"type":43,"tag":1077,"props":2964,"children":2965},{},[2966,2987],{"type":43,"tag":1081,"props":2967,"children":2968},{},[2969],{"type":43,"tag":1085,"props":2970,"children":2971},{},[2972,2977,2982],{"type":43,"tag":1089,"props":2973,"children":2974},{},[2975],{"type":48,"value":2976},"Symptom",{"type":43,"tag":1089,"props":2978,"children":2979},{},[2980],{"type":48,"value":2981},"Cause",{"type":43,"tag":1089,"props":2983,"children":2984},{},[2985],{"type":48,"value":2986},"Fix",{"type":43,"tag":1110,"props":2988,"children":2989},{},[2990,3016,3042,3067,3085,3109,3127,3145,3170],{"type":43,"tag":1085,"props":2991,"children":2992},{},[2993,2998,3003],{"type":43,"tag":1117,"props":2994,"children":2995},{},[2996],{"type":48,"value":2997},"400: \"label_data_id is required\"",{"type":43,"tag":1117,"props":2999,"children":3000},{},[3001],{"type":48,"value":3002},"Missing query parameter",{"type":43,"tag":1117,"props":3004,"children":3005},{},[3006,3008,3014],{"type":48,"value":3007},"Add ",{"type":43,"tag":88,"props":3009,"children":3011},{"className":3010},[],[3012],{"type":48,"value":3013},"?label_data_id=\u003Cid>",{"type":48,"value":3015}," to URL",{"type":43,"tag":1085,"props":3017,"children":3018},{},[3019,3024,3029],{"type":43,"tag":1117,"props":3020,"children":3021},{},[3022],{"type":48,"value":3023},"400: \"Label data path not found\"",{"type":43,"tag":1117,"props":3025,"children":3026},{},[3027],{"type":48,"value":3028},"Dataset folder doesn't exist",{"type":43,"tag":1117,"props":3030,"children":3031},{},[3032,3034,3040],{"type":48,"value":3033},"Check ",{"type":43,"tag":88,"props":3035,"children":3037},{"className":3036},[],[3038],{"type":48,"value":3039},"assets\u002Fdata\u002F\u003Cid>\u002F",{"type":48,"value":3041}," exists",{"type":43,"tag":1085,"props":3043,"children":3044},{},[3045,3050,3055],{"type":43,"tag":1117,"props":3046,"children":3047},{},[3048],{"type":48,"value":3049},"400: \"actions.json not found\"",{"type":43,"tag":1117,"props":3051,"children":3052},{},[3053],{"type":48,"value":3054},"Missing action definitions",{"type":43,"tag":1117,"props":3056,"children":3057},{},[3058,3060,3065],{"type":48,"value":3059},"Ensure ",{"type":43,"tag":88,"props":3061,"children":3063},{"className":3062},[],[3064],{"type":48,"value":278},{"type":48,"value":3066}," is in dataset folder",{"type":43,"tag":1085,"props":3068,"children":3069},{},[3070,3075,3080],{"type":43,"tag":1117,"props":3071,"children":3072},{},[3073],{"type":48,"value":3074},"400: \"No video folders found\"",{"type":43,"tag":1117,"props":3076,"children":3077},{},[3078],{"type":48,"value":3079},"No annotated videos",{"type":43,"tag":1117,"props":3081,"children":3082},{},[3083],{"type":48,"value":3084},"Complete video annotation first",{"type":43,"tag":1085,"props":3086,"children":3087},{},[3088,3093,3098],{"type":43,"tag":1117,"props":3089,"children":3090},{},[3091],{"type":48,"value":3092},"All stages FAILED",{"type":43,"tag":1117,"props":3094,"children":3095},{},[3096],{"type":48,"value":3097},"One stage failed, causing cascade",{"type":43,"tag":1117,"props":3099,"children":3100},{},[3101,3103],{"type":48,"value":3102},"Check Docker logs for the specific stage error: ",{"type":43,"tag":88,"props":3104,"children":3106},{"className":3105},[],[3107],{"type":48,"value":3108},"docker compose logs sop-data-gen",{"type":43,"tag":1085,"props":3110,"children":3111},{},[3112,3117,3122],{"type":43,"tag":1117,"props":3113,"children":3114},{},[3115],{"type":48,"value":3116},"Output directory missing after failure",{"type":43,"tag":1117,"props":3118,"children":3119},{},[3120],{"type":48,"value":3121},"Automatic cleanup on failure",{"type":43,"tag":1117,"props":3123,"children":3124},{},[3125],{"type":48,"value":3126},"The pipeline deletes the output directory when any stage fails",{"type":43,"tag":1085,"props":3128,"children":3129},{},[3130,3135,3140],{"type":43,"tag":1117,"props":3131,"children":3132},{},[3133],{"type":48,"value":3134},"GQAs: LLM rate limit (429)",{"type":43,"tag":1117,"props":3136,"children":3137},{},[3138],{"type":48,"value":3139},"Too many concurrent LLM calls",{"type":43,"tag":1117,"props":3141,"children":3142},{},[3143],{"type":48,"value":3144},"Switch to local LLM, or retry later",{"type":43,"tag":1085,"props":3146,"children":3147},{},[3148,3153,3158],{"type":43,"tag":1117,"props":3149,"children":3150},{},[3151],{"type":48,"value":3152},"GQAs: Empty LLM response",{"type":43,"tag":1117,"props":3154,"children":3155},{},[3156],{"type":48,"value":3157},"Thinking-mode model (Qwen3 \u002F Qwen3.5 etc.)",{"type":43,"tag":1117,"props":3159,"children":3160},{},[3161,3162,3168],{"type":48,"value":2442},{"type":43,"tag":88,"props":3163,"children":3165},{"className":3164},[],[3166],{"type":48,"value":3167},"enable_thinking: \"false\"",{"type":48,"value":3169}," in config",{"type":43,"tag":1085,"props":3171,"children":3172},{},[3173,3178,3183],{"type":43,"tag":1117,"props":3174,"children":3175},{},[3176],{"type":48,"value":3177},"Progress stuck at 0%",{"type":43,"tag":1117,"props":3179,"children":3180},{},[3181],{"type":48,"value":3182},"Augmentation still initializing",{"type":43,"tag":1117,"props":3184,"children":3185},{},[3186],{"type":48,"value":3187},"Wait and re-poll; check Docker logs for activity",{"type":43,"tag":58,"props":3189,"children":3190},{},[3191],{"type":43,"tag":72,"props":3192,"children":3193},{},[3194],{"type":48,"value":3195},"Check Docker logs:",{"type":43,"tag":176,"props":3197,"children":3199},{"className":178,"code":3198,"language":180,"meta":181,"style":181},"docker compose logs sop-data-gen --tail 100 -f\n",[3200],{"type":43,"tag":88,"props":3201,"children":3202},{"__ignoreMap":181},[3203],{"type":43,"tag":187,"props":3204,"children":3205},{"class":189,"line":190},[3206,3211,3216,3221,3226,3231,3236],{"type":43,"tag":187,"props":3207,"children":3208},{"style":204},[3209],{"type":48,"value":3210},"docker",{"type":43,"tag":187,"props":3212,"children":3213},{"style":210},[3214],{"type":48,"value":3215}," compose",{"type":43,"tag":187,"props":3217,"children":3218},{"style":210},[3219],{"type":48,"value":3220}," logs",{"type":43,"tag":187,"props":3222,"children":3223},{"style":210},[3224],{"type":48,"value":3225}," sop-data-gen",{"type":43,"tag":187,"props":3227,"children":3228},{"style":210},[3229],{"type":48,"value":3230}," --tail",{"type":43,"tag":187,"props":3232,"children":3233},{"style":583},[3234],{"type":48,"value":3235}," 100",{"type":43,"tag":187,"props":3237,"children":3238},{"style":210},[3239],{"type":48,"value":3240}," -f\n",{"type":43,"tag":51,"props":3242,"children":3244},{"id":3243},"important-notes",[3245],{"type":48,"value":3246},"Important Notes",{"type":43,"tag":80,"props":3248,"children":3249},{},[3250,3268,3278,3288,3305,3328,3350,3360],{"type":43,"tag":84,"props":3251,"children":3252},{},[3253,3258,3260,3266],{"type":43,"tag":72,"props":3254,"children":3255},{},[3256],{"type":48,"value":3257},"Augmentation is async.",{"type":48,"value":3259}," The POST API returns immediately with the augmented dataset ID. You must poll ",{"type":43,"tag":88,"props":3261,"children":3263},{"className":3262},[],[3264],{"type":48,"value":3265},"augmentation_status",{"type":48,"value":3267}," to track completion.",{"type":43,"tag":84,"props":3269,"children":3270},{},[3271,3276],{"type":43,"tag":72,"props":3272,"children":3273},{},[3274],{"type":48,"value":3275},"Config is hot-reloadable.",{"type":48,"value":3277}," The config YAML is a mounted volume — edit on host, changes take effect on next augmentation run without rebuilding the container.",{"type":43,"tag":84,"props":3279,"children":3280},{},[3281,3286],{"type":43,"tag":72,"props":3282,"children":3283},{},[3284],{"type":48,"value":3285},"One failure = all fail.",{"type":48,"value":3287}," If any enabled stage fails, all stages are marked as failed and the entire output directory is deleted. Check logs for the root cause.",{"type":43,"tag":84,"props":3289,"children":3290},{},[3291,3296,3298,3303],{"type":43,"tag":72,"props":3292,"children":3293},{},[3294],{"type":48,"value":3295},"Output ID auto-increments.",{"type":48,"value":3297}," The augmented dataset ID is ",{"type":43,"tag":88,"props":3299,"children":3301},{"className":3300},[],[3302],{"type":48,"value":964},{"type":48,"value":3304}," where N starts at 0 and increments with each new augmentation of the same source dataset.",{"type":43,"tag":84,"props":3306,"children":3307},{},[3308,3319,3321,3326],{"type":43,"tag":72,"props":3309,"children":3310},{},[3311,3313,3318],{"type":48,"value":3312},"Advanced stages need ",{"type":43,"tag":88,"props":3314,"children":3316},{"className":3315},[],[3317],{"type":48,"value":2039},{"type":48,"value":621},{"type":48,"value":3320}," Dynamic MCQ, Dynamic Shuffling, and Extra Negative all require the ",{"type":43,"tag":88,"props":3322,"children":3324},{"className":3323},[],[3325],{"type":48,"value":2039},{"type":48,"value":3327}," index to be correctly set to your dataset's \"none of the above\" action.",{"type":43,"tag":84,"props":3329,"children":3330},{},[3331,3336,3337,3342,3344,3349],{"type":43,"tag":72,"props":3332,"children":3333},{},[3334],{"type":48,"value":3335},"Extra Negative needs a second dataset.",{"type":48,"value":161},{"type":43,"tag":88,"props":3338,"children":3340},{"className":3339},[],[3341],{"type":48,"value":2135},{"type":48,"value":3343}," must point to a different annotated dataset that is already in ",{"type":43,"tag":88,"props":3345,"children":3347},{"className":3346},[],[3348],{"type":48,"value":910},{"type":48,"value":621},{"type":43,"tag":84,"props":3351,"children":3352},{},[3353,3358],{"type":43,"tag":72,"props":3354,"children":3355},{},[3356],{"type":48,"value":3357},"GQAs is the only LLM-dependent stage.",{"type":48,"value":3359}," All other stages are deterministic and run locally without external API calls.",{"type":43,"tag":84,"props":3361,"children":3362},{},[3363,3384,3386,3391],{"type":43,"tag":72,"props":3364,"children":3365},{},[3366,3368,3374,3376,3382],{"type":48,"value":3367},"Adjust ",{"type":43,"tag":88,"props":3369,"children":3371},{"className":3370},[],[3372],{"type":48,"value":3373},"min_options",{"type":48,"value":3375},"\u002F",{"type":43,"tag":88,"props":3377,"children":3379},{"className":3378},[],[3380],{"type":48,"value":3381},"max_options",{"type":48,"value":3383}," to your action count.",{"type":48,"value":3385}," For a dataset with N actions, ",{"type":43,"tag":88,"props":3387,"children":3389},{"className":3388},[],[3390],{"type":48,"value":3381},{"type":48,"value":3392}," should not exceed N.",{"type":43,"tag":3394,"props":3395,"children":3396},"style",{},[3397],{"type":48,"value":3398},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":3400,"total":3490},[3401,3420,3433,3446,3454,3466,3477],{"slug":3402,"name":3402,"fn":3403,"description":3404,"org":3405,"tags":3406,"stars":26,"repoUrl":27,"updatedAt":3419},"sop-build","orchestrate end-to-end SOP monitoring pipelines","Orchestrate the end-to-end SOP pipeline, including preflight prerequisite checks, verifying models and downloading assets, generating the DeepStream SOP microservice with RTSP output, evaluating the microservice, and building, deploying, and testing the VSS SOP blueprint. Use when asked to run the full SOP pipeline, set up the SOP pipeline from scratch, execute preflight checks, verify models, download assets, generate the SOP microservice, evaluate the microservice, build the VSS blueprint, deploy the VSS blueprint, test the VSS blueprint, or manage the complete build-evaluate-deploy-test cycle.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[3407,3410,3413,3416,3417],{"name":3408,"slug":3409,"type":15},"Automation","automation",{"name":3411,"slug":3412,"type":15},"Engineering","engineering",{"name":3414,"slug":3415,"type":15},"Monitoring","monitoring",{"name":9,"slug":8,"type":15},{"name":3418,"slug":2918,"type":15},"Video","2026-07-14T05:32:48.503678",{"slug":3421,"name":3421,"fn":3422,"description":3423,"org":3424,"tags":3425,"stars":26,"repoUrl":27,"updatedAt":3432},"sop-by-action-eval","run by-action VLM evaluations","Use when running by-action VLM evaluation (per-action-clip inference + accuracy metrics) against the BP evaluation-ms HTTP API. Invoked as \u002Fsop-by-action-eval \u003Cinputs.yaml> [natural language parameter overrides]",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[3426,3429,3430,3431],{"name":3427,"slug":3428,"type":15},"Evals","evals",{"name":20,"slug":21,"type":15},{"name":3414,"slug":3415,"type":15},{"name":9,"slug":8,"type":15},"2026-07-14T05:36:13.260585",{"slug":3434,"name":3434,"fn":3435,"description":3436,"org":3437,"tags":3438,"stars":26,"repoUrl":27,"updatedAt":3445},"sop-cr-finetuning","fine-tune VLM models for SOP monitoring","Fine-tune Cosmos-Reason2 (CR2) VLM for SOP monitoring. Use when you need to launch and monitor a VLM training run with a given dataset ID.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[3439,3442,3443,3444],{"name":3440,"slug":3441,"type":15},"AI Infrastructure","ai-infrastructure",{"name":20,"slug":21,"type":15},{"name":3414,"slug":3415,"type":15},{"name":9,"slug":8,"type":15},"2026-07-14T05:36:22.874218",{"slug":4,"name":4,"fn":5,"description":6,"org":3447,"tags":3448,"stars":26,"repoUrl":27,"updatedAt":28},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[3449,3450,3451,3452,3453],{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},{"name":20,"slug":21,"type":15},{"name":9,"slug":8,"type":15},{"name":23,"slug":24,"type":15},{"slug":3455,"name":3455,"fn":3456,"description":3457,"org":3458,"tags":3459,"stars":26,"repoUrl":27,"updatedAt":3465},"sop-ddm-finetuning","fine-tune DDM-Net models for SOP monitoring","Fine-tune DDM-Net temporal boundary detector for SOP monitoring. Use when you need to launch and monitor a DDM-Net training run with a given dataset ID.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[3460,3463,3464],{"name":3461,"slug":3462,"type":15},"Deep Learning","deep-learning",{"name":3414,"slug":3415,"type":15},{"name":9,"slug":8,"type":15},"2026-07-14T05:35:16.203684",{"slug":3467,"name":3467,"fn":3468,"description":3469,"org":3470,"tags":3471,"stars":26,"repoUrl":27,"updatedAt":3476},"sop-e2e-inference","run end-to-end inference evaluations","Use when running the e2e evaluation pipeline (temporal segmentation + action recognition + accuracy) against the BP evaluation-ms HTTP API. Invoked as \u002Fsop-e2e-inference \u003Cinputs.yaml> [natural language parameter overrides]",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[3472,3473,3474,3475],{"name":3427,"slug":3428,"type":15},{"name":20,"slug":21,"type":15},{"name":3414,"slug":3415,"type":15},{"name":9,"slug":8,"type":15},"2026-07-14T05:36:15.23958",{"slug":3478,"name":3478,"fn":3479,"description":3480,"org":3481,"tags":3482,"stars":26,"repoUrl":27,"updatedAt":3489},"sop-ft-orchestrate","orchestrate SOP fine-tuning pipelines","Autonomous end-to-end orchestrator for SOP fine-tuning. Runs the full Import → Augment → DDM Train → VLM Train → Evaluate → RCA loop. Interprets RCA findings across DDM, VLM and augment axes, applies config fixes autonomously, and iterates until success criteria are met or max_pipeline_iterations reached. Call with a path to an inputs.yaml or with natural language.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[3483,3484,3485,3486],{"name":3408,"slug":3409,"type":15},{"name":20,"slug":21,"type":15},{"name":9,"slug":8,"type":15},{"name":3487,"slug":3488,"type":15},"Orchestration","orchestration","2026-07-14T05:36:28.162686",11,{"items":3492,"total":3645},[3493,3511,3529,3540,3552,3566,3579,3591,3602,3613,3627,3636],{"slug":3494,"name":3494,"fn":3495,"description":3496,"org":3497,"tags":3498,"stars":3508,"repoUrl":3509,"updatedAt":3510},"nemoclaw-user-guide","retrieve NemoClaw documentation and configuration","Guides human users' AI agents to the NemoClaw docs MCP server and canonical Fern documentation in Markdown form. Use when users ask how to install, configure, operate, troubleshoot, secure, or learn NemoClaw with an AI coding assistant. Trigger keywords - nemoclaw docs, use nemoclaw with ai agent, nemoclaw mcp docs, nemoclaw install help, nemoclaw quickstart, nemoclaw markdown docs, llms.txt, agent skills.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[3499,3502,3505],{"name":3500,"slug":3501,"type":15},"Documentation","documentation",{"name":3503,"slug":3504,"type":15},"MCP","mcp",{"name":3506,"slug":3507,"type":15},"Search","search",21777,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FNemoClaw","2026-07-20T06:00:01.461044",{"slug":3512,"name":3512,"fn":3513,"description":3514,"org":3515,"tags":3516,"stars":3526,"repoUrl":3527,"updatedAt":3528},"mcore-build-and-dependency","manage Megatron-LM development environments","Container-based dev environment setup and dependency management for Megatron-LM. Covers acquiring and launching the CI container, uv package management, and updating uv.lock.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[3517,3520,3523],{"name":3518,"slug":3519,"type":15},"Containers","containers",{"name":3521,"slug":3522,"type":15},"Deployment","deployment",{"name":3524,"slug":3525,"type":15},"Python","python",17049,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FMegatron-LM","2026-07-27T06:06:11.249662",{"slug":3530,"name":3530,"fn":3531,"description":3532,"org":3533,"tags":3534,"stars":3526,"repoUrl":3527,"updatedAt":3539},"mcore-bump-base-image","update NVIDIA PyTorch base images","Bump the NVIDIA PyTorch base image (`nvcr.io\u002Fnvidia\u002Fpytorch:YY.MM-py3`) used by Megatron-LM CI. Covers the two pin sites (GitHub CI in `docker\u002F.ngc_version.dev` and GitLab CI in `.gitlab\u002Fstages\u002F01.build.yml`), the post-bump CI loop (re-run functional tests, refresh golden values, mark broken tests), and the gotchas that bit PRs",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[3535,3538],{"name":3536,"slug":3537,"type":15},"CI\u002FCD","ci-cd",{"name":3521,"slug":3522,"type":15},"2026-07-14T05:25:59.97109",{"slug":3541,"name":3541,"fn":3542,"description":3543,"org":3544,"tags":3545,"stars":3526,"repoUrl":3527,"updatedAt":3551},"mcore-cicd","manage CI\u002FCD pipelines for Megatron-LM","CI\u002FCD reference for Megatron-LM. Covers CI pipeline structure, PR scope labels, triggering internal GitLab CI (which force-pushes the current branch to a pull-request\u002FBRANCH ref — always dry-run and verify the destination first; never run against shared or protected branches), and CI failure investigation.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[3546,3547,3548],{"name":3536,"slug":3537,"type":15},{"name":3521,"slug":3522,"type":15},{"name":3549,"slug":3550,"type":15},"GitHub","github","2026-07-27T06:06:12.278222",{"slug":3553,"name":3553,"fn":3554,"description":3555,"org":3556,"tags":3557,"stars":3526,"repoUrl":3527,"updatedAt":3565},"mcore-create-issue","investigate CI failures and create issues","Investigate a failing GitHub Actions run or job and create a GitHub issue for the failure.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[3558,3561,3562],{"name":3559,"slug":3560,"type":15},"Debugging","debugging",{"name":3549,"slug":3550,"type":15},{"name":3563,"slug":3564,"type":15},"Triage","triage","2026-07-14T05:25:57.442089",{"slug":3567,"name":3567,"fn":3568,"description":3569,"org":3570,"tags":3571,"stars":3526,"repoUrl":3527,"updatedAt":3578},"mcore-linting-and-formatting","lint and format Megatron-LM code","Linting and formatting for Megatron-LM. Covers running autoformat.sh, tools (ruff, black, isort, pylint, mypy), and code style rules.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[3572,3575],{"name":3573,"slug":3574,"type":15},"Best Practices","best-practices",{"name":3576,"slug":3577,"type":15},"Code Analysis","code-analysis","2026-07-14T05:25:56.18433",{"slug":3580,"name":3580,"fn":3581,"description":3582,"org":3583,"tags":3584,"stars":3526,"repoUrl":3527,"updatedAt":3590},"mcore-migrate-gpt-to-hybrid","migrate Megatron-LM models to HybridModel","Migration guide for moving Megatron Core GPTModel checkpoints, model providers, training commands, and layer mappings to HybridModel.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[3585,3586,3589],{"name":20,"slug":21,"type":15},{"name":3587,"slug":3588,"type":15},"Migration","migration",{"name":9,"slug":8,"type":15},"2026-07-17T06:07:11.777011",{"slug":3592,"name":3592,"fn":3593,"description":3594,"org":3595,"tags":3596,"stars":3526,"repoUrl":3527,"updatedAt":3601},"mcore-onboard-gb200-1node-tests","onboard functional tests for GB200","Onboard 1-node GitHub MR functional tests for GB200 from existing mr-scoped 2-node tests.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[3597,3598],{"name":23,"slug":24,"type":15},{"name":3599,"slug":3600,"type":15},"Testing","testing","2026-07-14T05:25:53.673039",{"slug":3603,"name":3603,"fn":3604,"description":3605,"org":3606,"tags":3607,"stars":3526,"repoUrl":3527,"updatedAt":3612},"mcore-run-on-slurm","launch distributed training jobs on SLURM","How to launch distributed Megatron-LM training jobs on a SLURM cluster. Covers a minimal sbatch skeleton, environment-variable setup for torch.distributed.run, CUDA_DEVICE_MAX_CONNECTIONS rules across hardware and parallelism modes, container conventions, monitoring, and per-rank failure diagnosis.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[3608,3609],{"name":3521,"slug":3522,"type":15},{"name":3610,"slug":3611,"type":15},"Infrastructure","infrastructure","2026-07-14T05:25:49.362534",{"slug":3614,"name":3614,"fn":3615,"description":3616,"org":3617,"tags":3618,"stars":3526,"repoUrl":3527,"updatedAt":3626},"mcore-split-pr","split pull requests to reduce review load","Split a PR into multiple PRs to reduce the number of required CODEOWNERS reviewer groups.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[3619,3622,3623],{"name":3620,"slug":3621,"type":15},"Code Review","code-review",{"name":3549,"slug":3550,"type":15},{"name":3624,"slug":3625,"type":15},"Pull Requests","pull-requests","2026-07-14T05:26:01.226578",{"slug":3628,"name":3628,"fn":3629,"description":3630,"org":3631,"tags":3632,"stars":3526,"repoUrl":3527,"updatedAt":3635},"mcore-testing","run and manage Megatron-LM tests","Test system for Megatron-LM. Covers test layout, recipe YAML structure, adding and running unit and functional tests, golden values, marker filters, and CI parity.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[3633,3634],{"name":23,"slug":24,"type":15},{"name":3599,"slug":3600,"type":15},"2026-07-14T05:25:54.928983",{"slug":3637,"name":3637,"fn":3638,"description":3639,"org":3640,"tags":3641,"stars":3526,"repoUrl":3527,"updatedAt":3644},"nightly-sync","manage nightly main-to-dev sync workflows","Domain knowledge for the nightly main-to-dev sync workflow. Covers merge strategy, CI architecture, failure investigation, and known issues.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[3642,3643],{"name":3408,"slug":3409,"type":15},{"name":3536,"slug":3537,"type":15},"2026-07-30T05:29:03.275638",496]