ai解惑优化提示词
This commit is contained in:
@@ -60,43 +60,6 @@ class PromptService
|
||||
return implode("\n", $info);
|
||||
}
|
||||
|
||||
public function genPrescriptionPrompt(array $userInfo, array $drugs): string
|
||||
{
|
||||
$patientInfo = $this->formatPatientInfo($userInfo);
|
||||
$drugsInfo = $this->formatDrugsInfo($drugs);
|
||||
|
||||
$drugsInfo = base64_encode($drugsInfo);
|
||||
$prompt = "你是一名专业的医生,请根据以下患者信息和可用药品,开具合理的处方:
|
||||
## 患者信息:
|
||||
{$patientInfo}
|
||||
## 可用药品列表(base64_encode后的):
|
||||
{$drugsInfo}
|
||||
## 请按照以下JSON格式返回处方建议:
|
||||
{
|
||||
\"ai_diagnosis\": \"AI诊断描述\",
|
||||
\"ai_advice\": \"AI医嘱\",
|
||||
\"medication_advice\": [
|
||||
{
|
||||
// \"index_id\": \"药品ID\",
|
||||
\"drug_id\": \"药品ID\",
|
||||
\"drug_name\": \"药品名称\",
|
||||
\"single_dosage\": \"单次用量\",
|
||||
}
|
||||
],
|
||||
\"frequency_description\": \"用药频次说明\",
|
||||
\"treatment_period\": \"治疗周期说明\",
|
||||
\"frequency\": \"每天次数(数字格式)\",
|
||||
\"days\": \"用药天数(数字格式)\"
|
||||
}
|
||||
## 要求:
|
||||
1. 诊断要基于患者年龄、病史和当前症状
|
||||
2. 用药建议要合理,考虑药品适应症和患者情况,只能选择我给出的药品列表中的药品
|
||||
3. 单次用量采用数字类型单位都是g
|
||||
4. 频次要合理(如:3,就是一天三次的意思)
|
||||
5. 用药天数要根据病情严重程度确定";
|
||||
|
||||
return $prompt;
|
||||
}
|
||||
|
||||
// 求签提示词封装
|
||||
public function genSignPrompt($toDay, $dayDesc = '寻常日'): string
|
||||
@@ -118,4 +81,14 @@ class PromptService
|
||||
$prompt = "今天是{$toDay},{$dayDesc}。请模仿老中医,用他的口吻,根据这个季节和临近的节气,给出现代人的养生方。包含饮食、起居。要用一段或几段描述。切记不要使用md格式,请使用纯文本格式。并且语气要有仙风道骨的感觉,要用文言文来描述,后面加上注解";
|
||||
return $prompt;
|
||||
}
|
||||
|
||||
// 解惑
|
||||
public function genHelpPrompt($toDay, $dayDesc = '寻常日', $question): string
|
||||
{
|
||||
if (empty($question)) {
|
||||
$question = '人生很迷茫';
|
||||
}
|
||||
$prompt = "今天是{$toDay},{$dayDesc}。用户心中有惑:“{$question}”。请以隐世智者或禅师的口吻,结合时令节气为其解惑。包含【机锋】与【指引】。要求:不使用Markdown,纯文本输出。";
|
||||
return $prompt;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,6 +32,8 @@ class XunFeiAiClientV1 extends BaseClient
|
||||
$prompt = $this->promptService->genSignPrompt($time, $dayDesc);
|
||||
} elseif ($version == 2) {
|
||||
$prompt = $this->promptService->genSignPrompt2($time, $dayDesc);
|
||||
} elseif ($version == 3) {
|
||||
$prompt = $this->promptService->genHelpPrompt($time, $dayDesc, request()->post('prompt', ''));
|
||||
}
|
||||
return $prompt. '\n 要求:不使用Markdown,纯文本输出,不要出现有关于Markdown的语法,分段清晰。';
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user