From 5495d70ba0d200251b471b800107828ba90b2171 Mon Sep 17 00:00:00 2001 From: yimao Date: Tue, 12 May 2026 10:27:32 +0800 Subject: [PATCH] fix(dashscope): forward user param in embed, honour api_base in rerank URL, and unify API-key env fallback across embed/rerank --- litellm/llms/dashscope/embed/transformation.py | 8 ++++++-- litellm/llms/dashscope/rerank/transformation.py | 3 ++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/litellm/llms/dashscope/embed/transformation.py b/litellm/llms/dashscope/embed/transformation.py index 3cfaaa04999..5bc0e5ca817 100644 --- a/litellm/llms/dashscope/embed/transformation.py +++ b/litellm/llms/dashscope/embed/transformation.py @@ -73,7 +73,11 @@ class DashScopeEmbeddingConfig(BaseEmbeddingConfig): api_base: Optional[str] = None, ) -> dict: if api_key is None: - raise ValueError("api_key is required for DashScope authentication") + api_key = get_secret_str("DASHSCOPE_API_KEY") + if api_key is None: + raise ValueError( + "DashScope API key is required. Set 'DASHSCOPE_API_KEY' env var or pass api_key explicitly." + ) default_headers = { "Content-Type": "application/json", "Authorization": f"Bearer {api_key}", @@ -106,7 +110,7 @@ class DashScopeEmbeddingConfig(BaseEmbeddingConfig): "model": model, "input": input, } - for key in ("dimensions", "encoding_format"): + for key in ("dimensions", "encoding_format", "user"): value = optional_params.get(key) if value is not None: data[key] = value diff --git a/litellm/llms/dashscope/rerank/transformation.py b/litellm/llms/dashscope/rerank/transformation.py index 48d13f8f37e..9adb6c09de7 100644 --- a/litellm/llms/dashscope/rerank/transformation.py +++ b/litellm/llms/dashscope/rerank/transformation.py @@ -77,7 +77,8 @@ class DashScopeRerankConfig(BaseRerankConfig): if cleaned.endswith("/v1"): return f"{cleaned}/reranks" - return DEFAULT_RERANK_URL + # Unknown base: append /reranks rather than silently ignoring the caller's api_base. + return f"{cleaned}/reranks" def validate_environment( self,