From f211f2335e8ddefc2b94690332636c8d7a32a2fe Mon Sep 17 00:00:00 2001 From: Izayoi9 Date: Tue, 24 Mar 2026 01:25:29 +0800 Subject: [PATCH] fix: auto-append /v1 to embedding_api_base in OpenAI embedding provider (#6855) When users configure `embedding_api_base` without the `/v1` suffix, the OpenAI SDK does not auto-complete it, causing request path errors. Co-Authored-By: Claude Opus 4.6 (1M context) --- astrbot/core/provider/sources/openai_embedding_source.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/astrbot/core/provider/sources/openai_embedding_source.py b/astrbot/core/provider/sources/openai_embedding_source.py index 2b62d865c2..7b2845bd22 100644 --- a/astrbot/core/provider/sources/openai_embedding_source.py +++ b/astrbot/core/provider/sources/openai_embedding_source.py @@ -27,6 +27,8 @@ def __init__(self, provider_config: dict, provider_settings: dict) -> None: api_base = provider_config.get( "embedding_api_base", "https://api.openai.com/v1" ).strip() + if api_base and not api_base.endswith("/v1") and not api_base.endswith("/v1/"): + api_base = api_base.rstrip("/") + "/v1" logger.info(f"[OpenAI Embedding] {provider_id} Using API Base: {api_base}") self.client = AsyncOpenAI( api_key=provider_config.get("embedding_api_key"),