# heretic2-charrp-reasoning on ana-ml2. Real .env lives on the host, never committed.
#
# Every value below is the compose default — this file exists to name the knobs,
# not to change them. The live host currently sets only the bottom three.

# --- image / container ---
REASONING_IMAGE=vllm/vllm-openai:v0.24.0
REASONING_CONTAINER=vllm-charrp-reasoning-nvfp4
REASONING_PORT=8018

# --- model ---
REASONING_MODEL=/tank/aimodels/heretic2-nvfp4-work/heretic2-modelopt-nvfp4-mtp
# Speculative tokens for the qwen3_5_mtp draft head. This is the MTP seat's whole
# point (~77 tok/s, ~1.3x over the retired GGUF seat); dropping it to 0 disables
# spec-decode and the workaround mount stops mattering.
SPEC_TOKENS=3

# --- auth ---
# vLLM bearer token. Empty = unauthenticated on the LAN, which is how the other
# ana-ml2 seats run; set it if this seat is ever exposed beyond the fleet.
API_KEY=

# --- placement / VRAM (the three the host actually overrides) ---
# GPU0 is shared with vllm-aeon-gen (gen) and llama-charrp (char-rp). NVFP4 27B
# weights are ~26 GB + KV, so util is held low to fit the ~33 GB free alongside
# them — and that is why max-model-len is 32768 rather than the 256K the lighter
# Q5 GGUF seat managed. Raising either without rebalancing GPU0 will OOM the
# neighbours, not just this container.
REASONING_GPU_ID=0
REASONING_GPU_MEM_UTIL=0.30
REASONING_MAX_MODEL_LEN=32768
REASONING_MAX_NUM_SEQS=4
