fix(dashscope): improve get_complete_url guard to prevent double-path append

The endswith check fails when api_base has a trailing slash
(e.g. .../chat/completions/ passes the guard and appends again).
Switch to the safer `endpoint not in api_base` check after rstrip("/"),
which mirrors the behavior of the parent OpenAIGPTConfig.get_complete_url.

Fixes #28429
This commit is contained in:
PRABHU KIRAN VANDRANKI 2026-06-02 10:38:44 -04:00
parent a72414a061
commit 25790e13a7

View file

@ -71,12 +71,15 @@ class DashScopeChatConfig(OpenAIGPTConfig):
stream: Optional[bool] = None,
) -> str:
"""
If api_base is not provided, use the default DashScope /chat/completions endpoint.
If api_base is not provided, use the default DashScope base URL.
Appends /chat/completions only when not already present, matching OpenAIGPTConfig behavior.
"""
if not api_base:
api_base = "https://dashscope.aliyuncs.com/compatible-mode/v1"
if not api_base.endswith("/chat/completions"):
api_base = f"{api_base}/chat/completions"
endpoint = "chat/completions"
api_base = api_base.rstrip("/")
if endpoint not in api_base:
api_base = f"{api_base}/{endpoint}"
return api_base