File size: 3,168 Bytes
0b07e71 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 | # Modal Inference Results: Fire Boy MiniCPM-V Router
Date: 2026-06-15
## Live Endpoint
```text
Modal app: fireboy-vla-router
URL: https://sanjuhs123--fireboy-vla-router.modal.run
GPU: L40S
idle scaledown window: 60 seconds
checkpoint: Fireboy-training-policy-vla/runpod-artifacts/checkpoints/fireboy_minicpm_vla_skill_param_head/minicpm_vla_skill_param_head.pt
model: openbmb/MiniCPM-V-4.6
policy_kind: minicpm_vla_frozen_encoder_skill_param_head_v1
```
This endpoint serves the promoted frozen MiniCPM-V skill/parameter router with a
custom PyTorch action head. It is not served through vLLM because the router
needs MiniCPM hidden states plus a custom continuous head, not token generation.
## Local Website Wiring
```text
TOYBOX_VLA_ROUTER_URL=https://sanjuhs123--fireboy-vla-router.modal.run
TOYBOX_VLA_ROUTER_ACTION=1
local app: http://127.0.0.1:65373
policy gallery: http://127.0.0.1:65373/fireboy-policy-gallery
```
The Toy Room path is:
```text
browser command -> /api/pet-action
-> Modal /route
-> MiniCPM-V frozen encoder + skill/parameter head
-> MuJoCo policy registry dispatch
-> Toy Room animation/result JSON
```
## Verification Matrix
All commands below were tested through the local website API on 2026-06-15.
The VLA router ran on Modal with `device: cuda`.
```text
walk to the yellow marker
served skill: walk_to
dispatch: registry:walk_to
/api/pet-action: success true
animation: walk
run around
served skill: run_around
dispatch: registry:run_around
/api/pet-action: success true
animation: run
pick up the berry
served skill: pick_up
dispatch: registry:pick_up
/api/pet-action: success true
animation: hold
go find berry and eat it
served skill: find_and_eat_berry
dispatch: registry:find_and_eat_berry
/api/pet-action: success true
animation: hold
```
## Important Runtime Guard
With a blank/generated camera frame, the raw neural skill head can become
overconfident toward `find_and_eat_berry`. The live endpoint therefore exposes:
```text
neural_skill: raw MiniCPM-V head prediction
skill: command/scene-stabilized served skill
raw_params: raw continuous head output
params: scene-grounded served parameters
```
This keeps the demo reliable while preserving transparency. If the browser sends
a real camera frame and full robot state, the same endpoint can be tested with
`force_neural_skill: true` to inspect the pure neural decision.
## Proof Screenshot
```text
Fireboy-training-policy-vla/proofs/modal-vla-router-policy-gallery.png
```
## Repeatable Final Smoke Gate
Run this before submission:
```bash
PYTHONPATH=fireboy-vla-physics/src \
fireboy-vla-physics/.venv/bin/python \
fireboy-vla-physics/src/final_vla_demo_smoke.py \
--out Fireboy-training-policy-vla/proofs/final-vla-demo-smoke.json
```
Latest result:
```text
ok: true
route checks: walk_to, run_around, pick_up, find_and_eat_berry all passed on cuda
pet-action checks: all four commands dispatched through Modal VLA + MuJoCo successfully
registry validation: checked_paths 49, missing_count 0
RunPod pods in proof: []
```
Proof JSON:
```text
Fireboy-training-policy-vla/proofs/final-vla-demo-smoke.json
```
|