Skip to content

fix(mlx-vlm): bump mlx-vlm pin to v0.6.12 - #12818

Merged
mudler merged 3 commits into
mudler:masterfrom
genx7up:fix/mlx-vlm-pin-v0.6.12
Oct 23, 2026
Merged

mudler merged 3 commits into
mudler:masterfrom
genx7up:fix/mlx-vlm-pin-v0.6.12

Conversation

@genx7up

@genx7up genx7up commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Description

With the v0.4.4 pin, a chat that sends an image and then goes through a tool call fails on the next turn with Image features and image tokens do not match: tokens: 0, features 646. v0.4.4 puts the image placeholder on the tool result; v0.6.12 is the first release that keeps it on the user message, so this bumps the pin in all six requirements files.

Notes for Reviewers

The pin came from #9568, when the mlx-cuda wheels stopped at 0.31.1. They are at 0.32.4 now and pip install --dry-run resolves v0.6.12 with mlx[cuda12] and mlx[cuda13]. I stopped at v0.6.12 because v0.7.x drops mlx_vlm.tool_parsers, which backend.py imports.

Tested on Linux CPU (python:3.12, requirements-cpu.txt): backend.py imports and serves, TestSharedHelpers passes, and a tool-call round rendered with a Qwen2.5-VL processor gets 0 image placeholders at v0.4.4 and 1 at v0.6.12. test_load_model fails at both pins because facebook/opt-125m has no safetensors on the Hub. Not run on Metal, CUDA or L4T hardware.

Signed commits

  • Yes, I signed my commits.
  • Documentation updated (docs/content/) for user-facing changes, or not applicable

@genx7up
genx7up force-pushed the fix/mlx-vlm-pin-v0.6.12 branch from 750f426 to 2f6d995 Compare October 21, 2026 23:42
@localai-org-maint-bot

Copy link
Copy Markdown
Collaborator

@mudler Code-review sign-off at 2f6d9956b: good to merge subject to backend CI validation. No blocking source findings.

All six MLX-VLM variants use the same v0.6.12 pin. Upstream retains the generation and tool-parser APIs used by this backend, and its image-placement logic excludes tool messages, addressing the reported image/tool-call failure. Integration with master 7f7b10fba is clean; diff whitespace checks pass.

I could not independently reproduce dependency resolution or run backend tests because this environment lacks a usable Python runtime. Metal, CUDA and L4T execution remain unverified; the current check snapshot contains only passing DCO. This is a source-review sign-off, not confirmation of runtime readiness.

mlx-vlm v0.4.4 attaches the image placeholder to the last message that is
not system or assistant. After a tool call that is the tool result, which
the chat template renders as text, so the next turn fails with "Image
features and image tokens do not match: tokens: 0". v0.6.12 keeps the
placeholder on the user message that carried the image.

The v0.4.4 pin (mudler#9568) worked around the mlx-cuda wheels stopping at
0.31.1. They are at 0.32.4 now, and v0.6.12 (mlx>=0.32.0) resolves with
mlx[cuda12] and mlx[cuda13]. v0.7.x would need backend changes: it drops
mlx_vlm.tool_parsers, which backend.py imports.

Signed-off-by: gman <genx7up@users.noreply.github.com>
@genx7up
genx7up force-pushed the fix/mlx-vlm-pin-v0.6.12 branch from 2f6d995 to 3313c0c Compare October 22, 2026 00:29
@mudler
mudler merged commit 3934ee8 into mudler:master Oct 23, 2026
1 of 11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants