# LLM infrastructure config — sourced by all llm-*.sh scripts # Updated: 2026-06-04 # # Architecture: oMLX 0.4.1 + oMLX compatibility proxy. # Gemma4 26B-A4B runs as VLMBatchedEngine — vision, tools, and thinking # from a single endpoint on :8080. No other models active. # # ⚠ VERSION PIN: All patches (model_discovery.py, config.json vision_config) # are specific to oMLX 0.4.1. Do NOT run brew upgrade omlx without re-running # setup.sh and re-validating all three VLM capability tests. # Pin is set by setup.sh via: brew pin omlx OMLX_VERSION=0.4.1 RMLX_BIN=/opt/homebrew/bin/omlx # ── Base directories ────────────────────────────────────────────────────────── LLM_BASE=$HOME/.llm MODEL_DIR=$LLM_BASE/models LOG_DIR=$LLM_BASE/logs RUN_DIR=$LLM_BASE/run CACHE_DIR=$LLM_BASE/cache # ── Primary model — Gemma 4 26B-A4B VLM ────────────────────────────────────── # Vision + tool calling + thinking. 256K context, ~15 GB at 4-bit. # Loaded as VLMBatchedEngine (vision_config patched into config.json). # model_type_override: vlm set in ~/.omlx/model_settings.json. PRIMARY_MODEL=$MODEL_DIR/gemma-4-26b-a4b-it-4bit PRIMARY_PORT=8080 PRIMARY_LOG=$LOG_DIR/primary.log PRIMARY_PID=$RUN_DIR/primary.pid # ── oMLX compatibility proxy ────────────────────────────────────────────────── # Routes reasoning_content → content in streaming deltas (Gemma4 thinking). # Listens on :8090, forwards to :8080. # Requires: $HOME/.llm/proxy-venv (pip install aiohttp) PROXY_PYTHON=$HOME/.llm/proxy-venv/bin/python3 PROXY_PORT=8090 PROXY_PID=$RUN_DIR/omlx-proxy.pid PROXY_LOG=$LOG_DIR/omlx-proxy.log