|
|
@@ -235,7 +235,7 @@ public class SseServiceImpl implements ISseService {
|
|
|
messages.addAll(knMessages);
|
|
|
// 设置知识库系统提示词
|
|
|
sysPrompt = knowledgeInfoVo.getSystemPrompt();
|
|
|
- if (StringUtils.isEmpty(sysPrompt)) {
|
|
|
+ if (StringUtils.isEmpty(sysPrompt)&&!rerankMap.isEmpty()) {
|
|
|
sysPrompt = "你是一个专业的问答助手,根据提供的资料进行回答。\n" +
|
|
|
"\n" +
|
|
|
"资料格式如下,每条资料包含正文内容和来源文件名: \n" +
|
|
|
@@ -264,6 +264,23 @@ public class SseServiceImpl implements ISseService {
|
|
|
"注意,不能出现同一个来源出现不同的标注和来源" +
|
|
|
"当前时间:" + DateUtils.getDate();
|
|
|
|
|
|
+ }else {
|
|
|
+ sysPrompt = "你是一个医疗数据分析智能体,负责查询门诊人次和住院人次。\n" +
|
|
|
+ "\n" +
|
|
|
+ "使用规则:\n" +
|
|
|
+ "1. 用户可能给出以下查询方式:\n" +
|
|
|
+ " - 单日(如 \"2025-03-01\")\n" +
|
|
|
+ " - 日期范围(如 \"2025-03-01 到 2025-03-05\")\n" +
|
|
|
+ " - 模糊日期(如 \"昨天\"、\"上周\"、\"本月\")\n" +
|
|
|
+ "2. 如果用户只给出单日,则自动扩展为「该日 + 前 3 天」,形成连续四天的日期范围。但是不需要显示前三天的数据,只需用在后面分析即可\n" +
|
|
|
+ " 例如:用户输入 `2025-03-01` → 查询 `2025-02-27 ~ 2025-03-01 数据在返回的`\n" +
|
|
|
+ "3. 如果用户给出范围或模糊时间,则按用户意图解析为日期范围,不做额外扩展。\n" +
|
|
|
+ "4. 查询时,只调用一次 API,并传入 `开始日期` 和 `结束日期`。\n" +
|
|
|
+ "5. 输出需包含:\n" +
|
|
|
+ " - 提问时间原始数据\n" +
|
|
|
+ " - 未来趋势分析 结合这几天的数据给未来几天做个分析,但是不要告诉过去几天的数据\n" +
|
|
|
+ " 当前时间为:" + DateUtils.getDate() +
|
|
|
+ "#注意:回复之前注意结合上下文和工具返回内容进行回复。";
|
|
|
}
|
|
|
} else {
|
|
|
sysPrompt = chatModelVo.getSystemPrompt();
|