Skip to content

[Bug]: Fix MRL Support Detection for Qwen3-Embedding-8B Model (It Supports MRL per Latest Official Docs) #20899

Description

@Cyberceratops

Your current environment

Unfortunately, I cannot run the Python script to collect the environment due to certain security considerations and restrictions within the organization.But I can briefly describe the key environmental information.

🐛 Describe the bug

Environment

  • vLLM Version: 0.8.5
  • Hardware: Unknown
  • Python Version: Unknown (Torch 2.6.0)
  • Model: Qwen3-Embedding-8B

Description

I'm using the Qwen3-Embedding-8B model deployed via vLLM in a platform (Cherry Studio). When making embedding calls with the "dimensions" parameter included in the request (e.g., {"model": "Qwen3-Embedding-8B", "input": "hi", "dimensions": 1024}), vLLM returns a 400 Bad Request error stating that the model does not support Matryoshka Representation Learning (MRL).

However, according to the latest official technical documentation from Alibaba (released in June 2025), Qwen3-Embedding-8B explicitly supports MRL, allowing dynamic dimension adjustment without quality loss. This indicates a bug in vLLM's model detection logic, where it incorrectly assumes the model lacks MRL support.

This is problematic because:

  • In my case, the platform (Cherry Studio) automatically includes "dimensions" in backend requests for optimization, leading to failures in knowledge base embedding and search functionalities.
  • The platform developers confirmed: "Other providers ignore extra parameters without issues, but vLLM errors out." They also noted this was fixed before but regressed in a recent change.

Error message from logs:
[KnowledgeQueue] Backend processing error for item ...: 400 Model "Qwen3-Embedding-8B" does not support matryoshka representation, changing output dimensions will lead to poor results.

A simple health check without "dimensions" succeeds (200 OK), but actual workflows fail due to the forced parameter.

Steps to Reproduce

  1. Deploy Qwen3-Embedding-8B using vLLM 0.8.5.

  2. Send a POST request to the embeddings endpoint with "dimensions" included, e.g.:
    {
    "model": "Qwen3-Embedding-8B",
    "input": "hi",
    "dimensions": 1024 // or any value
    }

  3. Observe the 400 error.

Expected Behavior

  • vLLM should correctly detect and support MRL for Qwen3-Embedding-8B (as per the June 2025 official docs), allowing dynamic "dimensions" without errors.

Actual Behavior

  • vLLM incorrectly enforces lack of MRL support and returns a 400 error when "dimensions" is present, even though the model supports it.

Additional Context

This issue was reported to the Cherry Studio platform, and their developer suggested raising it here: "I suggest you go to vLLM to file an issue, requesting support for Qwen3 embedding's MRL. We'll also think of ways to avoid always passing dimensions."

Any guidance or fixes would be greatly appreciated, as this blocks embedding workflows for Qwen models in integrated platforms.

Thanks!

Before submitting a new issue...

  • Make sure you already searched for relevant issues, and asked the chatbot living at the bottom right corner of the documentation page, which can answer lots of frequently asked questions.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions