Skip to main content

server-inference

Use this skill when the user wants to run or debug MLX-VLM server inference, including uv run mlx_vlm.server, /v1/models, /v1/chat/completions, /v1/responses, streaming, OpenAI-compatible clients, health checks, metrics, model unload/reload, adapters, trust-remote-code, and server request/response failures.

Quellinformationen

Repository
Blaizzy/mlx-vlm
Letzte Quellaktivität
18. September 2026 um 18:14
Erkannte Sprache von SKILL.md
Englisch
Sterne
5.605
Forks
822

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
server-inference
description
Use this skill when the user wants to run or debug MLX-VLM server inference, including uv run mlx_vlm.server, /v1/models, /v1/chat/completions, /v1/responses, streaming, OpenAI-compatible clients, health checks, metrics, model unload/reload, adapters, trust-remote-code, and server request/response failures.
# Server Inference Use this workflow for the FastAPI server and API-compatible inference. ## First Checks 1. Identify the server command, model, port, request endpoint, request body, and expected response. 2. Start with health/model-list checks before debugging generation. 3. Separate server startup failures from request-handling failures. 4. Keep streaming and non-streaming repros separate. ## Startup ```bash uv run mlx_vlm.server \ --model <model-or-path> \ --port 8080 ``` Useful startup flags include `--adapter-path`, `--trust-remote-code`, `--log-level`, `--enable-thinking`, `--thinking-budget`, `--draft-model`, `--draft-kind`, `--kv-bits`, `--kv-quant-scheme`, `--max-kv-size`, and `--vision-cache-size`. ## Minimal Checks ```bash curl http://127.0.0.1:8080/health curl http://127.0.0.1:8080/v1/models curl http://127.0.0.1:8080/metrics ``` Minimal chat request: ```bash curl -s http://127.0.0.1:8080/v1/chat/completions \ -H 'Content-Type: application/json' \ -d '{ "model": "<model-or-path>", "messages": [{"role": "user", "content": "Say hello."}], "max_tokens": 32, "stream": false }' ``` Minimal Responses API request: ```bash curl -s http://127.0.0.1:8080/v1/responses \ -H 'Content-Type: application/json' \ -d '{ "model": "<model-or-path>", "input": "Say hello.", "max_output_tokens": 32 }' ``` ## Endpoint Surface (beyond chat/responses) The server exposes more than chat — cover or route to these as needed: - **Anthropic Messages API:** `/v1/messages`, plus `/v1/messages/count` for token counting. - **Audio:** `/v1/audio/speech` (TTS), `/v1/audio/transcriptions` and `/v1/audio/translations` (STT). - **Images:** `/v1/images/generations` and `/v1/images/edits` (diffusion image models). - **Cache & metrics:** `/v1/cache/stats`, `/v1/cache/reset`, `/v1/metrics`. - **Models:** `/v1/models` lists loaded models and model candidates in the shared Hugging Face cache, with a `loaded` boolean indicating which are in memory — see `Skill("mlx-vlm-skills:hf-cache-models")`. Match the model kind to the endpoint (an image endpoint needs a diffusion/image model, audio endpoints need an audio model); a mismatch returns a clear 4xx, not a crash. ## Debugging Rules - Capture the server command, server logs, request body, response status, and response body. - Test `/v1/models` after preload/load changes. - For OpenAI client issues, reproduce with `curl` before blaming the client SDK. - For streaming bugs, save raw event chunks and compare with non-streaming. - For structured outputs, isolate the JSON schema and confirm whether the same request works without schema constraints. - For tool calls, inspect native support and the parser inferred from the loaded processor's actual chat template. Follow [Tool Calling](../add-new-model/SKILL.md#tool-calling) for parser registration and validation. ## Validation - For route/schema changes, run `uv run pytest mlx_vlm/tests/test_server.py -q`. - For structured output changes, include `uv run pytest mlx_vlm/tests/test_generate.py -q -k 'thinking_aware or json_schema'`. - For tool parser changes, add compact regressions to `TestProcessToolCalls` in `mlx_vlm/tests/test_server.py` and run the shared tool streaming tests in that module, plus any existing tests for affected parsers. Reuse consolidated tests instead of creating a new test file. - If the result is a user-facing bug report, switch to `Skill("mlx-vlm-skills:reproducible-github-issues")`.
Auf GitHub ansehen