Files
kefu/deploy/ark-chat-config-20260917/admin_backend.py.diff
T
2026-09-21 10:34:06 +08:00

36 lines
1.6 KiB
Diff
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
--- before/wechat_rpa/admin_backend.py
+++ wechat_rpa/admin_backend.py
@@ -1921,6 +1921,9 @@
endpoint_mode = str(item.get("endpoint_mode") or "auto").strip().lower()
if endpoint_mode not in model_protocol.ENDPOINT_MODES:
raise ValueError(f"不支持的地址模式:{endpoint_mode}")
+ config_error = model_protocol.chat_config_error(kind, base_url, item.get("model") or "")
+ if config_error and item.get("enabled", True):
+ raise ValueError(config_error)
with self.connect() as db:
db.execute("BEGIN IMMEDIATE")
@@ -2720,6 +2723,12 @@
headers["Authorization"] = f"Bearer {api_key}"
started = time.perf_counter()
try:
+ config_error = model_protocol.chat_config_error(
+ provider_type_value, str(config.get("api_base") or endpoint),
+ str(config.get("model") or ""),
+ )
+ if config_error:
+ raise ValueError(config_error)
status, raw = _perform_http_request(
endpoint,
method=method,
@@ -2740,6 +2749,9 @@
429: "请求受限、余额不足或调用频率过高",
}
message = labels.get(status, f"模型服务返回 HTTP {status}")
+ # Ark may use HTTP 404 for a model which exists but is not activated.
+ if "has not activated the model" in detail.lower():
+ message = "账号尚未开通该模型服务,请在火山方舟控制台开通,并确认 API Key 所属账号和项目"
if detail:
message += f":{detail}"
return {