diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/conversation/ConversationServiceImpl.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/conversation/ConversationServiceImpl.java index 3eafdca9a..7b406b654 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/conversation/ConversationServiceImpl.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/conversation/ConversationServiceImpl.java @@ -431,6 +431,18 @@ public class ConversationServiceImpl implements ConversationService { StringBuilder knowledgeBase = getKnowledgeBase(chatReqVO); + if(chatReqVO.getKnowledge()!=null){ + String prompt = "你是一个只能基于给定知识库回答问题的助手。以下是你的规则:\n" + + "1. 你只能依据知识库中的内容回答问题。\n" + + "2. 如果问题的答案不在知识库中,回答:“抱歉,我无法回答这个问题,因为相关信息不在知识库中。”\n" + + "3. 不允许进行推测、想象或生成与知识库无关的内容。\n" + + "4. 请严格遵守以上规则。"; + if (StringUtils.isBlank(chatReqVO.getPrompt())){ + chatReqVO.setPrompt(prompt); + }else { + chatReqVO.setPrompt(chatReqVO.getPrompt()+"\n"+prompt); + } + } String mess = chatReqVO.getSystemPrompt() + knowledgeBase.toString(); // 查询历史记录消息,并将查询出来的知识信息放入到 role = system 的消息中 List messageHistoryList = stringRedisTemplate.opsForList().range(CHAT_HIStORY_REDIS_KEY + ":" + chatReqVO.getUuid(), 0, -1);