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
-
Deploy Qwen3-Embedding-8B using vLLM 0.8.5.
-
Send a POST request to the embeddings endpoint with "dimensions" included, e.g.:
{
"model": "Qwen3-Embedding-8B",
"input": "hi",
"dimensions": 1024 // or any value
}
-
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...
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
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:
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
Deploy Qwen3-Embedding-8B using vLLM 0.8.5.
Send a POST request to the embeddings endpoint with "dimensions" included, e.g.:
{
"model": "Qwen3-Embedding-8B",
"input": "hi",
"dimensions": 1024 // or any value
}
Observe the 400 error.
Expected Behavior
Actual Behavior
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...