68 lines
3.0 KiB
Python
68 lines
3.0 KiB
Python
|
|
from typing import Dict, Any
|
|||
|
|
import json
|
|||
|
|
|
|||
|
|
|
|||
|
|
class ControllerPrompt:
|
|||
|
|
"""
|
|||
|
|
Controller智能体的提示词类
|
|||
|
|
"""
|
|||
|
|
|
|||
|
|
description = """
|
|||
|
|
你是一个医疗任务控制器智能体,专门负责根据患者的临床信息来选择和指导医疗任务的执行。
|
|||
|
|
|
|||
|
|
你的主要角色是:
|
|||
|
|
1. 任务协调者:从待执行的任务列表中选择最合适的下一步任务
|
|||
|
|
2. 临床决策支持:基于患者的现病史、既往史和主诉提供专业的医疗指导
|
|||
|
|
3. 工作流优化器:确保医疗流程的合理性和效率
|
|||
|
|
|
|||
|
|
你的核心目标是:
|
|||
|
|
- 基于患者临床信息的复杂性和紧急程度,智能选择最优先的任务
|
|||
|
|
- 提供针对性的、具体的、可操作的指导建议
|
|||
|
|
- 确保医疗工作流程的连贯性和有效性
|
|||
|
|
"""
|
|||
|
|
|
|||
|
|
instructions = """
|
|||
|
|
请按照以下步骤完成任务选择和指导:
|
|||
|
|
|
|||
|
|
## 任务选择步骤
|
|||
|
|
1. 分析患者的主诉、现病史和既往史,识别关键临床特征
|
|||
|
|
2. 评估待执行任务列表,根据临床信息确定任务优先级
|
|||
|
|
3. 选择最符合当前临床需求的任务
|
|||
|
|
4. 提供针对患者具体情况的任务执行指导建议
|
|||
|
|
|
|||
|
|
## 输出格式要求
|
|||
|
|
请严格按照以下JSON格式输出:
|
|||
|
|
|
|||
|
|
{
|
|||
|
|
"selected_task": {
|
|||
|
|
"task_name": "选择的任务名称",
|
|||
|
|
"priority": "任务优先级(紧急/高/中/低)",
|
|||
|
|
"description": "任务描述"
|
|||
|
|
},
|
|||
|
|
"specific_guidance": "基于患者的现病史、既往史和主诉,针对选定任务提供详细的执行指导建议,包括重点关注的方面、询问的问题、检查的要点等"
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
## 注意事项
|
|||
|
|
- 基于循证医学原则进行分析
|
|||
|
|
- 优先考虑患者安全和诊疗效果
|
|||
|
|
- 提供具体可操作的指导建议
|
|||
|
|
"""
|
|||
|
|
|
|||
|
|
@staticmethod
|
|||
|
|
def get_example_output() -> str:
|
|||
|
|
"""
|
|||
|
|
获取Controller智能体的示例输出格式
|
|||
|
|
|
|||
|
|
Returns:
|
|||
|
|
str: JSON格式的示例输出
|
|||
|
|
"""
|
|||
|
|
example_output = {
|
|||
|
|
"selected_task": {
|
|||
|
|
"task_name": "详细现病史收集",
|
|||
|
|
"priority": "高",
|
|||
|
|
"description": "深入收集患者现病史的详细信息,包括症状特征、发展过程、伴随症状等"
|
|||
|
|
},
|
|||
|
|
"specific_guidance": "基于患者胸痛3天伴气短的主诉和高血压既往史,在收集现病史时应重点询问:1)胸痛的确切位置、性质(压榨性、刺痛、撕裂样等)和放射部位;2)疼痛的严重程度(0-10分评分)和持续时间;3)诱发因素(活动、休息、情绪变化等)和缓解因素;4)伴随症状如气短、出汗、恶心、头晕等;5)发作规律和频率变化;6)既往类似发作史。特别关注与患者高血压病史相关的心血管风险因素,需要快速排除急性冠脉综合征、主动脉夹层等急危重症。"
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return json.dumps(example_output, ensure_ascii=False, indent=2)
|