triage/agent_system/evaluetor/response_model.py
iomgaa 4d08c52e53 重构:优化评价器模块并统一代码规范
主要变更:
- 重命名PreDiagnosisEvaluation为Evaluator,统一术语
- 调整评分范围从-5到5改为0到5,优化评价标准
- 重构代码结构,按照disease_analyst标准实现
- 添加必需的run和build_prompt函数
- 更新配置文件,支持gpt-oss:latest模型
- 完善Claude指导文档和代理规范

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-10 21:42:05 +08:00

66 lines
2.5 KiB
Python
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
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):
"""评价器评价结果"""
# 基础评价维度5个
clinical_inquiry: EvaluationDimension = Field(
default=EvaluationDimension(score=0.0, comment="评价失败:临床问诊能力评价缺失"),
description="临床问诊能力评价"
)
diagnostic_reasoning: EvaluationDimension = Field(
default=EvaluationDimension(score=0.0, comment="评价失败:诊断推理能力评价缺失"),
description="诊断推理能力评价"
)
communication_quality: EvaluationDimension = Field(
default=EvaluationDimension(score=0.0, comment="评价失败:沟通表达能力评价缺失"),
description="沟通表达能力评价"
)
multi_round_consistency: 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="关键改进建议列表"
)