"Guide for resolving and extending lmms-eval model backends,
Scanned 9/8/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill model-backends --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Model Backends?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-model-backends-96bbeea1)More formats (shields.io, HTML) on the badges page.
---
name: model-backends
description: "Guide for resolving and extending lmms-eval model backends,
registry aliases, chat-versus-simple dispatch, media handling, and decode
backend troubleshooting."
metadata:
disco-role: operating
disable-model-invocation: true
license: NOASSERTION
---
# model-backends
Use this route when the user is adding, fixing, or choosing a model backend, or when a backend behaves differently from what the task/model combination expects.
It is the right place for registry resolution, alias lookup, chat-versus-simple dispatch, multimodal message handling, and video decode backend selection.
## Read first
- `../../references/model-backends.md`
- `../../references/api-reference.md`
- `../../references/troubleshooting.md`
## What this route covers
- Model registry behavior through `ModelRegistryV2`, `list_available_models()`, and alias resolution.
- The `is_simple` split between chat-style and legacy simple backends.
- `ChatMessages` media extraction and message serialization.
- Backend-specific `model_args` such as checkpoint ids, message formats, and generation settings.
- Optional backend families such as API wrappers, local HF-style backends, vLLM, SGLang, and video-capable decoders.
- Throughput and timing-oriented model metrics.
## Typical workflow
1. Identify whether the user is asking about a named model id, an alias, or a backend class.
2. Check the registry first with `lmms-eval models --aliases` or the bundled registry smoke.
3. Decide whether the backend should resolve as chat or simple.
4. Verify `model_args` and optional extras before touching the implementation.
5. If video or other media decoding is involved, confirm the decode backend and optional dependencies.
6. Use `video_decode_smoke.py` for backend selection questions and `model_registry_smoke.py` for alias / class-path questions.
## Helpful commands
```bash
lmms-eval models --aliases
python -m lmms_eval --help
```
## Bundled scripts
- `../../scripts/model_registry_smoke.py` — inspect canonical models, aliases, and a concrete resolution.
- `../../scripts/video_decode_smoke.py` — inspect video decode backends and optionally decode a local clip.
## Cross-route handoff
- Send task YAML request-shape questions to `task-authoring`.
- Send CLI argument and cache/reasoning flows to `cli-and-workflows`.
- Send HTTP server/client/MCP/TUI behavior to `service-ops`.
## Common failure modes
- `is_simple` does not match the resolved backend type.
- A `model_args` string points to the wrong checkpoint or provider format.
- Optional backend packages such as `torchcodec`, `decord`, `vllm`, or `sglang` are missing.
- Video decode falls back to the wrong backend or an unavailable environment variable setting.
- Throughput metrics are absent because the backend does not emit them.
Use the registry smoke before changing model code, and use the troubleshooting reference when a failure looks like a missing backend rather than a code bug.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!