From 88abd8efb725dcd5cf59527e6e1e2b12332624f4 Mon Sep 17 00:00:00 2001 From: Yahya Alhinai Date: Sun, 28 Jun 2026 18:10:27 +0000 Subject: [PATCH] docs: update README with Modular MAX architecture --- README.md | 191 +++++++++++++++++---- docs/assets/interruption-flow-recovery.jpg | Bin 0 -> 41505 bytes 2 files changed, 154 insertions(+), 37 deletions(-) create mode 100644 docs/assets/interruption-flow-recovery.jpg diff --git a/README.md b/README.md index bc247c2..44553d7 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,22 @@ down. [LiveKit](https://livekit.io/) · [MongoDB](https://www.mongodb.com/) · [Gemini](https://ai.google.dev/) · [Hermes](https://hermes-agent.nousresearch.com/) · -[vLLM](https://vllm.ai/) · [DigitalOcean](https://www.digitalocean.com/) +[Modular MAX](https://www.modular.com/max) · +[DigitalOcean](https://www.digitalocean.com/) + +

+ A chart showing that a five minute interruption can create a much longer recovery period before a developer returns to flow state. +

+ +> PodMan exists to prevent the five-minute interruption from becoming a +> half-hour recovery tax. + +Source image: `~/pic.jpg`, committed as +`docs/assets/interruption-flow-recovery.jpg` so it renders on GitHub. ## Read This First @@ -19,7 +34,8 @@ down. | Check the app | `curl https://podman.live/health` | | Check pods and memory | `curl https://podman.live/api/pods && curl https://podman.live/api/memory/stats` | | Use the LLM externally | Base URL `https://llm.alhinai.dev/v1`, model `gemma-4-31B-it` | -| Test Hermes | `hermes -z 'Reply with exactly: working' --provider gemma4-31b-vllm --model gemma-4-31B-it` | +| Test Hermes | `hermes -z 'Reply with exactly: working' --provider gemma4-31b-max --model gemma-4-31B-it` | +| Gemma 4 bring-up | Modular/MAX lab at `/home/alhinai/modular-lab` | | Start local development | API, vision agent, and frontend commands are in [Local Development](#local-development) | | Debug production | Public checks first, then systemd services in [Production Operations](#production-operations) | @@ -33,10 +49,11 @@ down. | API | `https://podman.live/api/*` | Pods, tokens, outcomes, memory | | Health | `https://podman.live/health` | Backend readiness | | Local API | `127.0.0.1:8787` | Express service behind Caddy | -| Reasoning LLM | `https://llm.alhinai.dev/v1` | OpenAI-compatible Gemma/vLLM endpoint | +| Reasoning LLM | `https://llm.alhinai.dev/v1` | OpenAI-compatible Modular/MAX endpoint | +| Gemma MAX lab | `/home/alhinai/modular-lab` | Modular/MAX bring-up path for Gemma 4 | | API key | `not-needed` | Placeholder key for OpenAI clients | | Hermes model | `gemma-4-31B-it` | 262K-context tool-using agent | -| Hermes config | `gemma4-31b-vllm` | Custom provider used by Hermes locally | +| Hermes config | `gemma4-31b-max` | Custom provider used by Hermes locally | ```mermaid flowchart TB @@ -66,8 +83,10 @@ flowchart TB subgraph Reasoning["External Reasoning Endpoint"] Tunnel["Cloudflare Tunnel
llm.alhinai.dev"] - VLLM["vLLM OpenAI Server
gemma-4-31B-it
262144 context"] - Hermes["Hermes Agent
provider: gemma4-31b-vllm"] + MaxLab["Modular MAX Lab
/home/alhinai/modular-lab"] + MaxServe["MAX OpenAI Server
gemma-4-31B-it
262144 context"] + MaxTest["MAX test port
127.0.0.1:8001"] + Hermes["Hermes Agent
provider: gemma4-31b-max"] end Browser --> Caddy --> API @@ -84,7 +103,10 @@ flowchart TB Voice --> GeminiVoice Vision --> GeminiEmbed Voice --> GeminiEmbed - Ops --> Hermes --> Tunnel --> VLLM + Ops --> Hermes --> Tunnel --> MaxServe + MaxLab --> MaxTest + MaxTest -. "validated Gemma 4
staging path" .-> MaxServe + Tunnel -. "public route
llm.alhinai.dev/v1" .-> MaxServe API --> Hermes Lyria --> Voice @@ -95,7 +117,7 @@ flowchart TB class Browser,Room user; class Caddy,API,Vision,Voice,Ops app; class Observations,State,Outcomes data; - class GeminiVision,GeminiVoice,GeminiEmbed,Lyria,Tunnel,VLLM,Hermes ai; + class GeminiVision,GeminiVoice,GeminiEmbed,Lyria,Tunnel,MaxLab,MaxServe,MaxTest,Hermes ai; ``` ## What It Does @@ -138,7 +160,9 @@ flowchart LR VisionRoute --> Gemini20["gemini-2.0-flash
screen understanding"] ConversationRoute --> GeminiLive["gemini-3.1-flash-live-preview
live Q&A"] ConversationRoute --> GeminiTTS["gemini-3.1-flash-tts-preview
urgent speech"] - HermesRoute --> Gemma["gemma-4-31B-it
Hermes + vLLM + tools"] + HermesRoute --> Gemma["gemma-4-31B-it
public serving via Modular MAX"] + HermesRoute --> Max["Modular MAX lab
GB10 Gemma 4 validation"] + Max -. "test on :8001
promote to public endpoint" .-> Gemma EmbedRoute --> Voyage["voyage-4-lite
primary embeddings"] EmbedRoute --> GeminiEmbed["gemini-embedding-001
fallback embeddings"] MusicRoute --> Lyria["lyria-3-clip-preview
background music"] @@ -148,10 +172,10 @@ flowchart LR classDef model fill:#f4edff,stroke:#805ad5,color:#2d1857; class Work,VoiceInput,OpsNeed,MemoryNeed,Ambient signal; class VisionRoute,ConversationRoute,HermesRoute,EmbedRoute,MusicRoute route; - class Gemini20,GeminiLive,GeminiTTS,Gemma,Voyage,GeminiEmbed,Lyria model; + class Gemini20,GeminiLive,GeminiTTS,Gemma,Max,Voyage,GeminiEmbed,Lyria model; ``` -### Gemma 4 31B via vLLM +### Gemma 4 31B via Modular MAX Hermes uses the external OpenAI-compatible endpoint: @@ -162,17 +186,16 @@ Model: gemma-4-31B-it Context: 262144 tokens ``` -The vLLM server is configured for Hermes-style tool use: +The Modular/MAX server is configured for long-context Gemma 4 serving: ```text ---max-model-len 262144 ---max-num-seqs 1 ---max-num-batched-tokens 16384 ---gpu-memory-utilization 0.85 ---kv-cache-dtype fp8 ---enable-auto-tool-choice ---tool-call-parser gemma4 +--max-length 262144 +--device-memory-utilization 0.85 +--kv-cache-format float8_e4m3fn +--enable-prefix-caching --enable-chunked-prefill +--max-batch-size 1 +--max-batch-input-tokens 16384 ``` Hermes should point at that endpoint with this provider shape: @@ -180,11 +203,11 @@ Hermes should point at that endpoint with this provider shape: ```yaml model: default: gemma-4-31B-it - provider: gemma4-31b-vllm + provider: gemma4-31b-max providers: - gemma4-31b-vllm: - name: Gemma 4 31B vLLM (256K) + gemma4-31b-max: + name: Gemma 4 31B Modular MAX (256K) api: https://llm.alhinai.dev/v1 api_key: not-needed transport: chat_completions @@ -199,8 +222,102 @@ agent: ``` Why this matters: Hermes sends OpenAI tool schemas and `tool_choice: "auto"`. -Without `--enable-auto-tool-choice` and `--tool-call-parser gemma4`, vLLM returns -HTTP 400 before Hermes can initialize an agent. +The model endpoint must support automatic tool choice so Hermes can initialize +the agent without a client-side workaround. + +### Modular MAX for Gemma 4 + +The GB10 box uses a working Modular/MAX lab as the Gemma 4 bring-up, +validation, and serving path. Run MAX on `8001` for testing, then promote it to +the public endpoint when ready. + +Installed local Codex skills: + +```text +/home/alhinai/.codex/skills/new-modular-project +/home/alhinai/.codex/skills/mojo-syntax +/home/alhinai/.codex/skills/mojo-gpu-fundamentals +/home/alhinai/.codex/skills/mojo-python-interop +/home/alhinai/.codex/skills/import-model +/home/alhinai/.codex/skills/debug-model +/home/alhinai/.codex/skills/profile-model +``` + +Restart Codex after installing or changing those skills so they are picked up. + +Working lab: + +```bash +cd /home/alhinai/modular-lab +uv run mojo --version +uv run max --version +uv run mojo hello.mojo +``` + +Verified output includes: + +```text +Mojo 1.0.0b3.dev2026062806 +MAX 26.5.0.dev2026062806 +hello from Mojo on spark +``` + +Important finding from `max list`: + +| MAX support | Value | +| ------------ | ---------------------------------------- | +| Architecture | `Gemma4ForConditionalGeneration` | +| Example | `google/gemma-4-31B-it` | +| Encodings | `float4_e2m1fnx2`, `float16`, `bfloat16` | + +That means Modular/MAX recognizes the Gemma 4 31B architecture on this GB10 +machine. + +Do not run two GPU model servers at once. Stop the existing Gemma server before +starting another MAX serve process: + +```bash +docker stop +``` + +Then test MAX on a separate port: + +```bash +cd /home/alhinai/modular-lab + +uv run max serve \ + --model /home/alhinai/models/gemma-4-31B-it \ + --served-model-name gemma-4-31B-it \ + --devices gpu:0 \ + --port 8001 \ + --trust-remote-code \ + --quantization-encoding bfloat16 \ + --max-length 262144 \ + --kv-cache-format float8_e4m3fn \ + --device-memory-utilization 0.85 \ + --enable-prefix-caching \ + --enable-chunked-prefill \ + --max-batch-size 1 \ + --max-batch-input-tokens 16384 +``` + +Verify MAX: + +```bash +curl http://127.0.0.1:8001/v1/models +``` + +#### Replace the current Gemma server with Modular/MAX + +If MAX works on `8001`, keep it there for testing until the public serving path +is intentionally changed. + +Official resources: + +- [MAX LLM Book](https://llm.modular.com/) +- [Model bring-up workflow](https://docs.modular.com/max/develop/model-bringup-workflow/) +- [Mojo](https://mojolang.org/) +- [Modular skills](https://github.com/modular/skills) ### Gemini Surfaces @@ -251,7 +368,7 @@ observe -> detect -> recall prior outcomes -> policy gate -> act -> record outco | Vision agent | Node + `@livekit/rtc-node` | Subscribes to screen tracks, samples frames, publishes interventions | | Live voice agent | Python LiveKit Agents + Gemini Live | Real-time voice Q&A in a pod room | | Memory | MongoDB Atlas | Observations, engineer state, collisions, interventions, outcomes | -| Reasoning agent | Hermes + Gemma vLLM | Tool-using autonomous assistant and ops layer | +| Reasoning agent | Hermes + Gemma Modular/MAX | Tool-using autonomous assistant and ops layer | | Realtime transport | LiveKit Cloud | Screen tracks, audio tracks, data messages | | Hosting | DigitalOcean + Caddy + systemd | Static frontend, API, workers, watchdog timers | @@ -433,7 +550,7 @@ pnpm hermes:sync-deploy pnpm deploy:doctor:strict ``` -Gemma/vLLM endpoint checks: +Gemma Modular/MAX endpoint checks: ```bash curl https://llm.alhinai.dev/v1/models \ @@ -481,7 +598,7 @@ POD_ROOM=demo-pod Gemma/Hermes provider values live in Hermes config, not PodMan `.env`: ```text -provider: gemma4-31b-vllm +provider: gemma4-31b-max model: gemma-4-31B-it base_url: https://llm.alhinai.dev/v1 api_key: not-needed @@ -514,7 +631,7 @@ For Hermes/Gemma: ```bash hermes -z 'Reply with exactly: working' \ - --provider gemma4-31b-vllm \ + --provider gemma4-31b-max \ --model gemma-4-31B-it ``` @@ -528,15 +645,15 @@ working ## Troubleshooting -| Symptom | Likely cause | Check | -| ---------------------------------------- | ---------------------------------------------- | ------------------------------------------------------------ | -| Frontend loads but API fails | Backend or Caddy proxy issue | `systemctl status podman-platform-api caddy` | -| `/api/*` returns 502 | API not listening on `8787` | `ss -ltnp`, `curl http://127.0.0.1:8787/health` | -| No screen observations | Vision agent not in LiveKit room | `journalctl -u podman-platform-agent -n 80` | -| Live voice missing | Python conversation agent down | `journalctl -u podman-live-conversation-agent -n 80` | -| Memory empty | MongoDB unavailable or env missing | `curl /api/memory/stats`, backend logs | -| Hermes says tool auto-choice is disabled | vLLM missing tool flags | verify `--enable-auto-tool-choice --tool-call-parser gemma4` | -| `llm.alhinai.dev` returns 502 | Gemma vLLM still loading or tunnel target down | `curl /v1/models`, vLLM logs on Gemma host | +| Symptom | Likely cause | Check | +| ----------------------------- | ------------------------------------------------ | ---------------------------------------------------- | +| Frontend loads but API fails | Backend or Caddy proxy issue | `systemctl status podman-platform-api caddy` | +| `/api/*` returns 502 | API not listening on `8787` | `ss -ltnp`, `curl http://127.0.0.1:8787/health` | +| No screen observations | Vision agent not in LiveKit room | `journalctl -u podman-platform-agent -n 80` | +| Live voice missing | Python conversation agent down | `journalctl -u podman-live-conversation-agent -n 80` | +| Memory empty | MongoDB unavailable or env missing | `curl /api/memory/stats`, backend logs | +| Hermes tool calls fail | Modular/MAX endpoint does not accept tool schema | verify Hermes provider and `/v1/chat/completions` | +| `llm.alhinai.dev` returns 502 | Gemma server still loading or tunnel target down | `curl /v1/models`, MAX logs on Gemma host | --- diff --git a/docs/assets/interruption-flow-recovery.jpg b/docs/assets/interruption-flow-recovery.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8ef6b62ee7f84657aae1affff0abfafe7939475f GIT binary patch literal 41505 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 literal 0 HcmV?d00001