2025-10-11 16:18:03 +08:00

30 lines
1.2 KiB
Python

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
}
}