fix: 优化AI生成失败提示与素材失效处理

This commit is contained in:
hh
2026-07-21 14:02:10 +08:00
parent d0c3690d47
commit a99aae8231
12 changed files with 746 additions and 20 deletions
+8 -7
View File
@@ -11,6 +11,7 @@ from dataclasses import dataclass, field
from datetime import datetime
from typing import Any
from apps.ai.generation_errors import provider_error_rule_errors
from apps.ai.models import ModelConfig, ModelProvider
from apps.ai.routing_policy import load_model_routing_policy
@@ -114,15 +115,15 @@ def provider_fallback_priority(provider: ModelProvider) -> int:
def provider_metadata_errors(metadata: Any) -> tuple[str, ...]:
"""校验供应商路由配置;供后台写入校验和运行前诊断共同复用。"""
"""校验供应商路由与错误展示配置;供后台写入校验和运行前诊断共同复用。"""
routing = _dict(_dict(metadata).get("routing"))
if "fallback_priority" not in routing:
return ()
value = routing["fallback_priority"]
if isinstance(value, bool) or not isinstance(value, int) or not 0 <= value <= 1000:
return ("routing.fallback_priority 必须是 0 到 1000 的整数,数字越小越优先",)
return ()
errors = list(provider_error_rule_errors(metadata))
if "fallback_priority" in routing:
value = routing["fallback_priority"]
if isinstance(value, bool) or not isinstance(value, int) or not 0 <= value <= 1000:
errors.append("routing.fallback_priority 必须是 0 到 1000 的整数,数字越小越优先")
return tuple(errors)
def model_metadata_errors(capability: str, metadata: Any) -> tuple[str, ...]: