triage/agent_system/evaluetor/response_model.py
iomgaa 02c15e2ce9 优化Evaluator智能体模块功能
- 完善评估智能体的评分逻辑和响应模型
- 改进评估提示模板的准确性和一致性
- 增强评估结果的结构化输出
- 优化评估历史记录的管理和追踪

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-03 21:45:07 +08:00

62 lines
2.4 KiB
Python
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from typing import List, Dict
from pydantic import BaseModel, Field
from agent_system.base import BaseResponseModel
class EvaluationDimension(BaseModel):
"""单个评价维度"""
score: float = Field(
...,
description="该维度的评分(0-5分0分最差5分最好)",
ge=0.0,
le=5.0
)
comment: str = Field(
...,
description="该维度的详细评价和分析"
)
class EvaluatorResult(BaseResponseModel):
"""评价器评价结果"""
# 基础评价维度4个
clinical_inquiry: EvaluationDimension = Field(
default=EvaluationDimension(score=0.0, comment="评价失败:临床问诊能力评价缺失"),
description="临床问诊能力评价"
)
communication_quality: EvaluationDimension = Field(
default=EvaluationDimension(score=0.0, comment="评价失败:沟通表达能力评价缺失"),
description="沟通表达能力评价"
)
information_completeness: EvaluationDimension = Field(
default=EvaluationDimension(score=0.0, comment="评价失败:信息收集全面性评价缺失"),
description="信息收集全面性评价"
)
overall_professionalism: EvaluationDimension = Field(
default=EvaluationDimension(score=0.0, comment="评价失败:整体专业性评价缺失"),
description="整体专业性评价"
)
# 相似度评价维度3个
present_illness_similarity: EvaluationDimension = Field(
default=EvaluationDimension(score=0.0, comment="评价失败:现病史相似度评价缺失"),
description="现病史相似度评价"
)
past_history_similarity: EvaluationDimension = Field(
default=EvaluationDimension(score=0.0, comment="评价失败:既往史相似度评价缺失"),
description="既往史相似度评价"
)
chief_complaint_similarity: EvaluationDimension = Field(
default=EvaluationDimension(score=0.0, comment="评价失败:主述相似度评价缺失"),
description="主述相似度评价"
)
# 总结和建议
summary: str = Field(
default="评价失败:整体评价总结缺失",
description="整体评价总结"
)
key_suggestions: List[str] = Field(
default=["评价失败:关键改进建议缺失"],
description="关键改进建议列表"
)