53 lines
1.8 KiB
Python
53 lines
1.8 KiB
Python
|
|
from agent_system.base import BasePrompt
|
|||
|
|
|
|||
|
|
|
|||
|
|
class InquirerPrompt(BasePrompt):
|
|||
|
|
"""
|
|||
|
|
询问者智能体的提示词模板
|
|||
|
|
|
|||
|
|
该提示词模板的description和instructions主体内容由Prompter智能体动态生成,
|
|||
|
|
只在末尾添加固定的输入信息和输出格式要求。
|
|||
|
|
"""
|
|||
|
|
|
|||
|
|
# 基础描述,将被prompter结果动态替换
|
|||
|
|
description = ""
|
|||
|
|
|
|||
|
|
# 基础指令,将被prompter结果动态替换
|
|||
|
|
instructions = []
|
|||
|
|
|
|||
|
|
@staticmethod
|
|||
|
|
def get_example_output() -> str:
|
|||
|
|
"""
|
|||
|
|
获取示例输出格式,用于指导 LLM 生成符合要求的结构化输出
|
|||
|
|
|
|||
|
|
Returns:
|
|||
|
|
str: JSON 格式的示例输出
|
|||
|
|
"""
|
|||
|
|
return """{
|
|||
|
|
"current_chat": "根据您描述的头痛情况,我想进一步了解一些细节。请问您的头痛是什么时候开始的?是突然出现还是逐渐加重的?另外,头痛主要集中在头部的哪个位置?"
|
|||
|
|
}"""
|
|||
|
|
|
|||
|
|
@staticmethod
|
|||
|
|
def get_fixed_format_instructions() -> list:
|
|||
|
|
"""
|
|||
|
|
获取固定的输入输出格式指令
|
|||
|
|
|
|||
|
|
Returns:
|
|||
|
|
list: 固定的格式指令列表
|
|||
|
|
"""
|
|||
|
|
return [
|
|||
|
|
"",
|
|||
|
|
"## 患者信息输入格式",
|
|||
|
|
"- 现病史: 患者当前疾病的详细描述",
|
|||
|
|
"- 既往史: 患者过往的疾病史和治疗史",
|
|||
|
|
"",
|
|||
|
|
"## 输出要求",
|
|||
|
|
"生成的问诊问题应该:",
|
|||
|
|
"1. 针对患者的具体病情背景",
|
|||
|
|
"2. 使用通俗易懂的语言表达",
|
|||
|
|
"3. 有助于获取更多诊断相关信息",
|
|||
|
|
"4. 符合医患交流的实际情况",
|
|||
|
|
"",
|
|||
|
|
"## 示例输出格式(JSON)",
|
|||
|
|
InquirerPrompt.get_example_output()
|
|||
|
|
]
|