quartermaster-generate.example.yaml
Rama main · réplica de lectura del repositorio original.
# Quartermaster autogen control file — Go port of Generate-Config.ps1 params + $Overrides.
# settings: global tuning knobs (CLI --models-dir overrides settings.modelsRoot).
# overrides: per-model tweaks gguf metadata can't supply; first match wins.
#
# Copy this to quartermaster-generate.yaml and edit modelsRoot / serverExe for
# your machine, then add overrides for your own models. The server auto-discovers
# every *.gguf under modelsRoot; overrides are optional tweaks on top.
settings:
# Folder scanned recursively for *.gguf models. Leave blank to start with an
# empty catalog and pick a folder later in the setup UI.
modelsRoot: ""
# Path to llama.cpp's llama-server executable.
serverExe: llama-server
# targetVramGB: the VRAM a model's whole footprint (weights + KV + compute
# buffers + overhead) must fit under. Left UNSET on purpose: with no value
# here the budget is measured from your card's free VRAM, by the setup wizard
# on first run and at every startup otherwise, so a card of any size is used
# in full. Uncomment it only to pin a ceiling BELOW what the card has - a
# number written here is read as your deliberate choice and is never
# re-measured behind your back.
# targetVramGB: 7
# autoVram: measure free VRAM at startup and cap targetVramGB at it. The
# reading is used in full - vramOverheadGB is charged inside the plan, not
# deducted again here. Only ever tightens: a smaller static targetVramGB above
# stays a deliberate ceiling. Forces a regen each boot to keep the snapshot
# current. Leave false to use the static targetVramGB above.
autoVram: false
# vramOverheadGB: small slack held back from targetVramGB for allocator
# fragmentation / CUDA spikes. targetVramGB already accounts for system/desktop
# VRAM, so this does NOT need to reserve room for the OS — keep it small.
vramOverheadGB: 0.5
# maxRamGB: the RAM ceiling a plan may spill CPU-offloaded weights and KV into.
# Unset and measured exactly like targetVramGB above, from the memory actually
# available on this machine. A shipped 24 was worse than no value at all on a
# 16 GB box: a ceiling the machine cannot honour never binds, so the guard that
# is supposed to stop a plan from swapping stopped nothing. Uncomment only to
# pin a lower ceiling.
# maxRamGB: 24
moeCtxTarget: 65536
# denseCtxLadder: the TOP rung is the context ceiling the sizer may grow a dense
# model to; within it the largest window whose KV cache fits the VRAM budget
# wins. Keep the top at or above the trained window of your largest-context
# model or that model is pinned below its own ceiling with VRAM left unused.
denseCtxLadder: [1048576, 524288, 262144, 131072, 65536, 32768]
denseMinCtx: 32768
threads: 7
ttlSec: 600
healthCheckTimeout: 300
# groups: split emitted models across named groups, each optionally bound to a
# separate listen address. Membership is by model-name glob (first match wins,
# so list specific groups before a "*" catch-all). Models matching nothing go
# to an implicit "default" group (no listener). All groups are exclusive swap
# groups, so loading on any port evicts the others (one GPU, VRAM-exclusive).
# Omit entirely for one group on one port. Example — variants on a second port:
# groups:
# - { name: variants, listen: 0.0.0.0:1251, match: ["*-game", "*-judge"] }
# - { name: assistant, listen: 0.0.0.0:1250, match: ["*"] }
# extraModels: hand-written model blocks for a server autogen has no backend
# kind for (any OpenAI-compatible engine, e.g. Strata). Same shape as a
# config.yaml model entry, copied into the generated config as written so a
# regen keeps it. Nothing is sized for you: cmd and estVramGB (or estRamGB for
# a CPU-only server) are required, since the estimate is all the scheduler
# knows about it. Entries join the swap groups like any discovered model. A
# bad entry (unknown key, name already taken) is skipped with a
# "# SKIPPED" comment in config.yaml instead of breaking startup.
# extraModels:
# strata-qwen3-32b:
# cmd: >
# D:/strata/strata-server.exe --port ${PORT}
# --model D:/models/Qwen3-32B
# proxy: http://127.0.0.1:${PORT}
# checkEndpoint: /v1/models
# estVramGB: 20
# Per-model overrides — optional. Each entry matches discovered gguf paths by
# glob (first match wins). Fields: quant (pick a quant when several exist),
# aliases (extra model IDs), spec (e.g. draft-mtp), reasoningFmt, ctxVariants
# (emit extra context-size variants), skip (exclude a match). Examples:
# overrides:
# - { match: "*-draft-*", skip: true }
# - { match: "*Qwen3-8B-GGUF*", quant: Q6_K }
# - { match: "*Gemma-12B-it-GGUF*", quant: Q4_K_M, reasoningFmt: auto, ctxVariants: [4096, 32768, 65536, 131072] }
overrides: []