30 lines
1.2 KiB
Python
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
|
|
}
|
|
} |