| # Modal Guide | |
| Cloud Parade Cabinet can use Modal in two ways. | |
| ## 1. Cheap Smoke Test | |
| This confirms your Modal account/profile works without starting a GPU: | |
| ```powershell | |
| $env:PYTHONUTF8="1" | |
| $env:PYTHONIOENCODING="utf-8" | |
| modal run cloud_parade_cabinet/modal_smoke.py | |
| ``` | |
| Expected output includes: | |
| ```text | |
| status: ok | |
| project: Cloud Parade Cabinet | |
| ``` | |
| ## 2. OpenBMB GPU Endpoint | |
| The GPU scaffold serves `openbmb/MiniCPM4-8B` with a vLLM OpenAI-compatible server on Modal. | |
| Create a Modal secret once: | |
| ```powershell | |
| modal secret create huggingface-secret HF_TOKEN=$env:HF_TOKEN | |
| ``` | |
| Deploy: | |
| ```powershell | |
| modal deploy cloud_parade_cabinet/modal_openbmb.py | |
| ``` | |
| Then point the app at the Modal web endpoint once Modal prints it: | |
| ```powershell | |
| $env:PARADE_MODEL="openbmb/MiniCPM4-8B" | |
| ``` | |
| ## Cost Notes | |
| - The smoke test should be negligible. | |
| - The OpenBMB endpoint uses `A10G` by default to keep spend controlled. | |
| - Upgrade to `A100` or `H100` only if latency matters for a demo recording. | |
| - Stop deployed GPU apps when not testing: | |
| ```powershell | |
| modal app stop cloud-parade-openbmb | |
| ``` | |