Deploy or smoke-test the Physics Agent with Brev-hosted dependency endpoints. Use when the user asks to test physics agent on Brev, deploy physics agent with Brev, use RTX/L40S for rendering and A100/H100-grade GPU for VLM, run a Brev hybrid physics-agent test, recreate the Brev physics-agent deployment, or validate service-side refine with a registered provider. This workflow keeps the main pipeline local and uses Brev port-forwards to reach OVRTX and Qwen-family VLM endpoints.
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Um comando direto ignora o prompt de revisão. Verifique a origem antes de executá-lo.
Deploy or smoke-test the Physics Agent with Brev-hosted dependency endpoints. Use when the user asks to test physics agent on Brev, deploy physics agent with Brev, use RTX/L40S for rendering and A100/H100-grade GPU for VLM, run a Brev hybrid physics-agent test, recreate the Brev physics-agent deployment, or validate service-side refine with a registered provider. This workflow keeps the main pipeline local and uses Brev port-forwards to reach OVRTX and Qwen-family VLM endpoints.
Requires Brev CLI access, a remote RTX/L40S-class render GPU for OVRTX, an A100/H100-class VLM endpoint, local port-forwards, and Physics Agent provider credentials.
Deploy Physics Agent With Brev
When to Use
Use the credit-conscious hybrid path:
Local machine runs the physics-agent pipeline.
Brev wu-pa-render runs standalone OVRTX on an RTX GPU. Prefer AWS
g7e.2xlarge / RTX PRO Server 6000 for fast validation, or AWS
g6e.xlarge / L40S when lower cost matters more than cold-start latency.
Brev wu-pa-vlm-a100 or wu-pa-vlm-h100 runs an OpenAI-compatible Qwen
endpoint. Use Denvr A100 80 GB for the lower-cost validated path, or
Hyperstack H100 for the validated Qwen3.5 35B NIM path.
Local port-forwards expose RENDER_ENDPOINT=http://localhost:8001 and
PA_VLM_NIM_BASE_URL=http://localhost:8003/v1.
Limitations
Keep provider credentials in .env or remote env files with restrictive
permissions; never print or commit them.
Prefer local port-forwards for this hybrid path; do not assume Brev
instance-to-instance networking is available.
Physics Agent service /refine requires the tuning dependencies, an
OvPhysX runtime, and a registered chat/VLM provider configured through
PA_REFINE_BACKEND, PA_REFINE_MODEL, and that provider's credential.
Delete GPU nodes after validation unless the user asks to keep them.
Prerequisites
Brev CLI access and SSH-ready render and VLM nodes.
Docker, NVIDIA Container Toolkit, and writable storage on each remote node.
Local Physics Agent environment with provider credentials required by the
selected config.
Instructions
Use brev-cli for generic Brev inventory, dry-run, create, port-forward,
stop, delete, and cleanup guardrails.
Create or reuse the Brev render node, then validate OVRTX health and render.
Create or reuse the VLM node, then validate model listing and image chat.
Set local Physics Agent render, VLM, and LLM environment variables.
Run the local pipeline with the forwarded endpoints, then clean up nodes and
port-forwards.
Reuse existing instances when possible. Run before
real creation unless the user already confirmed the exact spend.
brev create --dry-run
For service-on-Brev presets, the planner excludes local .env files during
worktree copy, then writes a minimal remote .env with generated endpoint/model
wiring and starts Docker Compose with --env-file .env. Edit that remote
.env before the Compose step when a generated comment asks for a real API key.
Do not use rt2 for Physics Agent validation. For a first render-service
return-path smoke, it is acceptable to add OVRTX_NUM_SENSOR_UPDATES=1 while
keeping OVRTX_RENDER_MODE=pt; restore the default before quality-sensitive
pipeline runs. Avoid very short cold-start render timeouts. A 900 second
timeout allowed warm-up and an OVRTX /render smoke to pass on validated AWS
RTX PRO Server 6000 and L40S nodes, but L40S can be noticeably slower.
A100/H100 VLM Node
For the first lower-cost Brev model smoke test, serve Qwen/Qwen2.5-VL-7B-Instruct with
vLLM on Denvr denvr_A100_sxm4_80G. For the validated larger endpoint, use
the Hyperstack H100 path in deploy-qwen-vlm-brev with
nvcr.io/nim/qwen/qwen3.5-35b-a3b:1.7.0-variant.
If the user asks for NVIDIA NIM, use deploy-qwen-vlm-brev and the validated
nvcr.io/nim/qwen/qwen3.5-35b-a3b:1.7.0-variant path on A100 or H100. That
NIM requires request-level
chat_template_kwargs: {"enable_thinking": false} for direct answers.
If the requested Brev disk size is not reflected in a writable filesystem,
delete the VM and try another provider/type. Do not promote a VLM VM type to
the preferred path until disk qualification, /v1/models, text chat, and image
chat all pass.
For the validated 35B NIM path, set PA_VLM_MODEL to
qwen/qwen3.5-35b-a3b and ensure the model config or request extra body passes
chat_template_kwargs.enable_thinking=false.
Use PA_NIM_API_KEY=not-used only for local no-auth VLM/LLM endpoints such as
a Brev port-forward. For tunnel, external URL, private-IP, or otherwise
authenticated endpoints, put the real PA_NIM_API_KEY in .env instead of the
dummy key.
This does not require Brev-to-Brev networking because the local machine calls
both dependency endpoints.
Validated H100 35B CLI Smoke
The validated Physics Agent hybrid smoke used:
wu-pa-render: AWS g7e.2xlarge / RTX PRO Server 6000 running standalone
OVRTX with OVRTX_RENDER_MODE=pt.
Local port-forwards on separate ports, for example
RENDER_ENDPOINT=http://localhost:8011 and
PA_VLM_NIM_BASE_URL=http://localhost:8013/v1.
When writing a short smoke config from apps/physics_agent/configs/lightbulb.yaml:
Keep optimize_usd.enabled: false for the lightbulb smoke.
For instanced CAD assets or assets that fail apply_physics on instance
proxies, enable optimize_usd with
scene_optimizer_settings.enable_deinstance: true. Also set
enable_split_meshes: true when one combined mesh should become separate
component predictions.
Set both renderers to backend: remote.
Use a valid render mode name such as prim_only; do not use
prim_only_original unless the renderer config parser supports that alias.
Keep build_dataset_usd.num_workers: 1 and
max_concurrent_requests: 1 for one standalone OVRTX service.
Put chat_template_kwargs.enable_thinking=false under both
identify_asset.vlm and predict.vlm for Qwen3.5 35B NIM.
Make the prediction prompt return top-level physical_properties, not
classification.physical_properties. The current streaming prediction writer
stores the full VLM response under the configured output_key, and
apply_physics reads classification.physical_properties.
The skill does not ship a prebuilt H100 smoke config. Create one in ignored
local runtime storage, then edit it to apply the bullets above:
Expected smoke result for the lightbulb example: 8 dataset entries, 8
predictions with physical_properties, and an output USD with physics schemas
applied to all 8 prims. Keep .data/physics-agent-brev-qwen35/ as local
runtime state and do not commit it.
Output Format
Return the Brev instance names, render and VLM endpoint URLs, selected model
IDs, smoke-test results, Physics Agent environment exports, pipeline result,
and cleanup commands.
Troubleshooting
If OVRTX logs VkResult: ERROR_INCOMPATIBLE_DRIVER, the Brev image may be
missing NVIDIA GL/Vulkan libraries. Install libnvidia-gl-580 matching the
driver, regenerate /etc/cdi/nvidia.yaml, copy it to /var/run/cdi, and
recreate the render container.
AWS g7e.2xlarge / RTX PRO Server 6000 and AWS g6e.xlarge / L40S are
validated render candidates for OVRTX /health and /render smoke tests.
Prefer RTX PRO Server 6000 for fast validation loops.
Hyperstack H100 can show health_status: UNHEALTHY while
shell_status: READY and the port-forwarded NIM endpoint works. Trust shell
readiness plus endpoint smokes.
Larger Qwen models are opt-in. Some larger Qwen 3.5 variants may have long
startup time, high VRAM use, or leave stale GPU memory after failed startup.
If Brev auth fails with malformed refresh token before deletion, power off
reachable VMs over SSH to stop compute spend, then ask the user to re-login
so brev delete can finish.
Cleanup
Stop port-forwards and delete GPU nodes unless the user wants to keep them: