triage/agent_system/triager/response_model.py

34 lines
944 B
Python
Raw Normal View History

from typing import Literal
from pydantic import Field
from agent_system.base import BaseResponseModel
class TriageResult(BaseResponseModel):
"""
科室分诊结果模型
"""
triage_reasoning: str = Field(
...,
description="分诊推理过程,解释为什么推荐该科室"
)
primary_department: Literal[
"内科", "外科", "儿科", "妇产科", "皮肤性病科",
"口腔科", "眼科", "肿瘤科", "耳鼻咽喉科", "康复科",
"精神科", "全科", "体检科"
] = Field(
...,
description="一级科室,必须从指定的科室列表中选择"
)
secondary_department: str = Field(
...,
description="二级科室,必须是一级科室的下属科室"
)
confidence_score: float = Field(
...,
ge=0.0,
le=1.0,
description="分诊信心度评分0-1之间"
)