Explorar o código

提示词修改

feng hai 8 meses
pai
achega
600f1641b7

+ 18 - 1
ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/SseServiceImpl.java

@@ -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();