from pydantic import BaseModel, Field from typing import List class DecisionPath(BaseModel): """决策路径""" node: str = Field(..., description="决策节点") condition: str = Field(..., description="判断条件") result: bool = Field(..., description="条件结果") class AuditResponse(BaseModel): """AI审核响应模型""" result: str = Field(..., description="审核结果: PASS/REFUSE/MANUAL") confidence: float = Field(..., description="置信度 0-1") reason: str = Field(..., description="决策原因") decision_path: List[DecisionPath] = Field(default_factory=list, description="决策路径") processing_time_ms: int = Field(default=0, description="处理耗时(毫秒)") class Config: json_schema_extra = { "example": { "result": "PASS", "confidence": 0.95, "reason": "所有验证通过,符合审核标准", "decision_path": [ {"node": "PRE_CHECK", "condition": "order_status=WAITEXAMINE", "result": True}, {"node": "SCORING", "condition": "total_score>=threshold", "result": True} ], "processing_time_ms": 150 } }