diff --git a/backend/routes/config_routes.py b/backend/routes/config_routes.py index 4f58eaf..b9762c6 100644 --- a/backend/routes/config_routes.py +++ b/backend/routes/config_routes.py @@ -364,7 +364,12 @@ def _test_openai_compatible(config: dict, test_prompt: str) -> dict: """测试 OpenAI 兼容接口""" import requests - base_url = config['base_url'].rstrip('/').rstrip('/v1') if config.get('base_url') else 'https://api.openai.com' + if config.get('base_url'): + base_url = config['base_url'].rstrip('/') + if base_url.endswith('/v1'): + base_url = base_url[:-3] + else: + base_url = 'https://api.openai.com' url = f"{base_url}/v1/chat/completions" payload = { @@ -396,7 +401,12 @@ def _test_image_api(config: dict) -> dict: """测试图片 API 连接""" import requests - base_url = config['base_url'].rstrip('/').rstrip('/v1') if config.get('base_url') else 'https://api.openai.com' + if config.get('base_url'): + base_url = config['base_url'].rstrip('/') + if base_url.endswith('/v1'): + base_url = base_url[:-3] + else: + base_url = 'https://api.openai.com' url = f"{base_url}/v1/models" response = requests.get( diff --git a/backend/utils/text_client.py b/backend/utils/text_client.py index 2bd2be6..a3dc57f 100644 --- a/backend/utils/text_client.py +++ b/backend/utils/text_client.py @@ -48,7 +48,9 @@ def __init__(self, api_key: str = None, base_url: str = None, endpoint_type: str "解决方案:在系统设置页面编辑文本生成服务商,填写 API Key" ) - self.base_url = (base_url or "https://api.openai.com").rstrip('/').rstrip('/v1') + self.base_url = (base_url or "https://api.openai.com").rstrip('/') + if self.base_url.endswith('/v1'): + self.base_url = self.base_url[:-3] # 支持自定义端点路径 endpoint = endpoint_type or '/v1/chat/completions'