ai解惑优化提示词

This commit is contained in:
2025-12-04 15:01:42 +08:00
parent f0e0309dd3
commit 245defd60f
2 changed files with 12 additions and 37 deletions

View File

@@ -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;
}
}

View File

@@ -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的语法分段清晰。';
}