refactor(backend): update user_agent schema and service
- schemas/user_agent.py: update user agent data schemas - services/user_agent.py: update user agent service logic
This commit is contained in:
@@ -44,12 +44,16 @@ class UserAgentReviewSlotCard(BaseModel):
|
||||
key: str = Field(description="槽位键名。")
|
||||
label: str = Field(description="槽位展示名。")
|
||||
value: str = Field(default="", description="当前识别值。")
|
||||
raw_value: str = Field(default="", description="原始识别文本。")
|
||||
normalized_value: str = Field(default="", description="标准化后的字段值。")
|
||||
source: str = Field(default="system", description="字段来源,例如 user_text / ocr / page_context。")
|
||||
source_label: str = Field(default="系统判断", description="字段来源中文名。")
|
||||
confidence: float = Field(default=0.0, ge=0.0, le=1.0, description="识别置信度。")
|
||||
required: bool = Field(default=True, description="是否为关键字段。")
|
||||
confirmed: bool = Field(default=False, description="是否可视为已确认。")
|
||||
status: str = Field(default="identified", description="identified / inferred / missing。")
|
||||
hint: str = Field(default="", description="字段补充提示。")
|
||||
evidence: str = Field(default="", description="字段识别依据。")
|
||||
|
||||
|
||||
class UserAgentReviewDocumentField(BaseModel):
|
||||
@@ -90,10 +94,22 @@ class UserAgentReviewAction(BaseModel):
|
||||
emphasis: str = Field(default="secondary", description="primary / secondary / warning。")
|
||||
|
||||
|
||||
class UserAgentReviewEditField(BaseModel):
|
||||
key: str = Field(description="编辑字段键名。")
|
||||
label: str = Field(description="编辑字段展示名。")
|
||||
value: str = Field(default="", description="当前字段值。")
|
||||
placeholder: str = Field(default="", description="输入占位提示。")
|
||||
required: bool = Field(default=True, description="是否必填。")
|
||||
field_type: str = Field(default="text", description="text / textarea。")
|
||||
group: str = Field(default="basic", description="字段分组。")
|
||||
|
||||
|
||||
class UserAgentReviewPayload(BaseModel):
|
||||
intent_summary: str = Field(description="系统对本次报销意图的结构化摘要。")
|
||||
body_message: str = Field(default="", description="正文区的简洁提示。")
|
||||
scenario: str = Field(description="当前场景。")
|
||||
intent: str = Field(description="当前意图。")
|
||||
can_proceed: bool = Field(default=False, description="当前是否满足进入下一步的前置条件。")
|
||||
missing_slots: list[str] = Field(default_factory=list, description="当前仍缺失的关键槽位。")
|
||||
risk_briefs: list[UserAgentReviewRiskBrief] = Field(
|
||||
default_factory=list,
|
||||
@@ -115,6 +131,10 @@ class UserAgentReviewPayload(BaseModel):
|
||||
default_factory=list,
|
||||
description="面向前端渲染的确认动作卡片。",
|
||||
)
|
||||
edit_fields: list[UserAgentReviewEditField] = Field(
|
||||
default_factory=list,
|
||||
description="用户修改识别结果时使用的预填字段模板。",
|
||||
)
|
||||
|
||||
|
||||
class UserAgentRequest(BaseModel):
|
||||
|
||||
Reference in New Issue
Block a user