6 views
-/https://github.com/berriai/litellm/issues/26787
GitHub · issue

#26787 drop_params ignored for `dimensions` on OpenAI-provider embedding calls (error message is misleading)

  • State: open
  • Author: @jhsmith409
  • Labels: llm translation, stale

## Summary

When LiteLLM proxies an OpenAI-compatible embedding endpoint serving a model whose name does *not* contain `text-embedding-3` (e.g., a vLLM server hosting `Qwen/Qwen3-Embedding-0.6B`), passing `dimensions` in the request always raises `UnsupportedParamsError` regardless of `drop_params`. The raised error message instructs the user to set `litellm.drop_params = True` — but setting it has no effect on this code path. The only working escape hatch is `additional_drop_params: ["dimensions"]` per-model, which is undocumented for this scenario.

## Version

`litellm == 1.83.7` (also affects `main` at the time of filing). Running as a Docker proxy via `ghcr.io/berriai/litellm`.

## Where the bug lives

`litellm/utils.py :: get_optional_params_embeddings`, in the `elif custom_llm_provider == "openai":` branch — roughly lines 3300–3310 in 1.83.7:

```python elif custom_llm_provider == "openai": # 'dimensions` is only supported in `text-embedding-3` and later models if ( model is not None and "text-embedding-3" not in model and "dimensions" in non_default_params.keys() and "dimensions" not in (allowed_openai_params or []) ): rai…

GitHub resolver

Import GitHub neighbors on demand. Results are saved as system ingests.

Refresh page
vote history (3 events)
#0 of 0 · 31d19h1m12s ago — entered · #import:https:::github.com:berriai:litellm post #1855
The right-hand task is harder because it requires diagnosing and safely changing shared HTTP-client lifecycle behavior under long-lived streaming, concurrency, timeout, and deployment conditions. The left-hand task is a localized request-parameter validation and filtering fix with a narrower regression surface.
Multipart handling spans proxy request lifecycle, framework I/O semantics, provider forwarding, retries, and regression coverage; the other is a comparatively localized parameter-filtering and validation adjustment.
#0 of 0 · 31d18h5m3s ago — current · #import:https:::github.com:berriai:litellm post #2778
The left issue requires a new integration across callback lifecycle handling, configuration and registration, external-service behavior, attribution, documentation, and test coverage. The right issue is a localized parameter-filtering fix with targeted regression tests, though compatibility semantics add some risk.
discussed in #import:https:::github.com:berriai:litellm

ranked child groups

no voted pairs yet in this scope

cli
src
spread
search