From 18fdf89338e84e1cab48c2795631777e22b05b81 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Wed, 03 Sep 2025 14:37:54 +0800
Subject: [PATCH] feat(ai): 添加灵通角色设定PROMPT功能

---
 src/main/java/cc/mrbird/febs/ai/service/impl/AiServiceImpl.java                 |   13 +++++++++++++
 src/main/java/cc/mrbird/febs/ai/strategy/enumerates/LlmStrategyContextEnum.java |    6 ++----
 src/main/java/cc/mrbird/febs/ai/service/impl/AiTalkServiceImpl.java             |    2 +-
 src/main/java/cc/mrbird/febs/ai/service/AiService.java                          |    1 +
 4 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/ai/service/AiService.java b/src/main/java/cc/mrbird/febs/ai/service/AiService.java
index 50d8bfa..c45197b 100644
--- a/src/main/java/cc/mrbird/febs/ai/service/AiService.java
+++ b/src/main/java/cc/mrbird/febs/ai/service/AiService.java
@@ -17,6 +17,7 @@
 public interface AiService {
 
     Integer getSystemSetAiType();
+    String getSystemSetLTAiPrompt();
 
 
     AiResponse start(List<AiMessage> aiMessageDtoList,Integer type, String productRoleId, String answer, String question);
diff --git a/src/main/java/cc/mrbird/febs/ai/service/impl/AiServiceImpl.java b/src/main/java/cc/mrbird/febs/ai/service/impl/AiServiceImpl.java
index 11c6794..5c85897 100644
--- a/src/main/java/cc/mrbird/febs/ai/service/impl/AiServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/ai/service/impl/AiServiceImpl.java
@@ -129,6 +129,19 @@
     }
 
     @Override
+    public String getSystemSetLTAiPrompt() {
+        String prompt = "请将问题转换为中文,并给出一个最详细的答案。";
+        DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                LlmStrategyContextEnum.LLM_LING_TONG_PROMPT.getCode(),
+                LlmStrategyContextEnum.LLM_LING_TONG_PROMPT.getCode()
+        );
+        if (dataDictionaryCustom != null) {
+            prompt = dataDictionaryCustom.getValue();
+        }
+        return prompt;
+    }
+
+    @Override
     public AiResponse start(List<AiMessage> aiMessageDtoList,Integer type,String productRoleId, String content, String question) {
         if (!StringUtils.hasText(productRoleId)) {
             log.warn("productRoleId 不能为空");
diff --git a/src/main/java/cc/mrbird/febs/ai/service/impl/AiTalkServiceImpl.java b/src/main/java/cc/mrbird/febs/ai/service/impl/AiTalkServiceImpl.java
index 7eda1af..7f6951f 100644
--- a/src/main/java/cc/mrbird/febs/ai/service/impl/AiTalkServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/ai/service/impl/AiTalkServiceImpl.java
@@ -138,7 +138,7 @@
         if (dto.getPrompt() != null){
             LlmStrategyDto llmStrategyDto = new LlmStrategyDto();
             llmStrategyDto.setRole(Role.SYSTEM.getValue());
-            llmStrategyDto.setContent(AiPromptEnum.STREAM_NORMAL.getPrompt());
+            llmStrategyDto.setContent(aiService.getSystemSetLTAiPrompt());
             llmStrategyDtoList.add(llmStrategyDto);
         }
         if (dto.getQuestion() != null){
diff --git a/src/main/java/cc/mrbird/febs/ai/strategy/enumerates/LlmStrategyContextEnum.java b/src/main/java/cc/mrbird/febs/ai/strategy/enumerates/LlmStrategyContextEnum.java
index 6a7bf89..78b85ca 100644
--- a/src/main/java/cc/mrbird/febs/ai/strategy/enumerates/LlmStrategyContextEnum.java
+++ b/src/main/java/cc/mrbird/febs/ai/strategy/enumerates/LlmStrategyContextEnum.java
@@ -10,10 +10,8 @@
 public enum LlmStrategyContextEnum {
 
 
-    /**
-     * 1:用户提问
-     * 2:AI回答
-     */
+    LLM_LING_TONG_PROMPT("LLM_LING_TONG_PROMPT","灵通角色设定PROMPT"),
+
     LLM_STRATEGY("LLM_STRATEGY","系统设置AI模型平台"),
 
     /**

--
Gitblit v1.9.1