|
@@ -76,8 +76,7 @@ public class AiChatController {
|
|
|
} else {
|
|
|
sessionId = java.util.UUID.randomUUID().toString();
|
|
|
}
|
|
|
-// log.info("会话ID:{}", sessionId);
|
|
|
-// System.out.println("会话ID:" + sessionId);
|
|
|
+
|
|
|
// 解析 JSON 并提取 "content" 字段的值
|
|
|
String questionText;
|
|
|
questionText = content; // 提取 "content" 字段的值
|
|
@@ -116,7 +115,6 @@ public class AiChatController {
|
|
|
// 插入角色定义(在对话历史的开头)
|
|
|
Message roleDefinition = Message.builder()
|
|
|
.role(Role.SYSTEM.getValue()) // 使用系统角色
|
|
|
-// .content("你是一个名为'永天小天Ai'的智能助手,擅长幽默和简洁的回答。") // 定义角色的行为和风格
|
|
|
.content(aiRole) // 定义角色的行为和风格
|
|
|
.build();
|
|
|
messages.add(0, roleDefinition); // 将角色定义插入到对话历史的开头
|
|
@@ -133,6 +131,7 @@ public class AiChatController {
|
|
|
.model(tyqwModel)
|
|
|
.messages(messages)
|
|
|
.resultFormat(GenerationParam.ResultFormat.MESSAGE)
|
|
|
+ .topP(0.8)
|
|
|
.apiKey(apiKey)
|
|
|
.incrementalOutput(true) // 开启增量输出
|
|
|
.build();
|
|
@@ -212,8 +211,7 @@ public class AiChatController {
|
|
|
} else {
|
|
|
sessionId = java.util.UUID.randomUUID().toString();
|
|
|
}
|
|
|
-// log.info("会话ID:{}", sessionId);
|
|
|
-// System.out.println("会话ID:" + sessionId);
|
|
|
+
|
|
|
// 解析 JSON 并提取 "content" 字段的值
|
|
|
String questionText;
|
|
|
questionText = content; // 提取 "content" 字段的值
|
|
@@ -235,6 +233,12 @@ public class AiChatController {
|
|
|
// 获取当前用户的对话历史
|
|
|
List<AiQuestion> conversationHistory = aiQuestionMapper.findByUserIdAndSessionId(sessionId, userId);
|
|
|
|
|
|
+ // 只保留最近的几轮对话
|
|
|
+ int historyLimit = Limit;
|
|
|
+ if (conversationHistory.size() > historyLimit) {
|
|
|
+ conversationHistory = conversationHistory.subList(conversationHistory.size() - historyLimit, conversationHistory.size());
|
|
|
+ }
|
|
|
+
|
|
|
// 构建对话历史消息
|
|
|
List<Message> messages = conversationHistory.stream()
|
|
|
.map(q -> Message.builder()
|
|
@@ -246,7 +250,6 @@ public class AiChatController {
|
|
|
// 插入角色定义(在对话历史的开头)
|
|
|
Message roleDefinition = Message.builder()
|
|
|
.role(Role.SYSTEM.getValue()) // 使用系统角色
|
|
|
-// .content("你是一个名为'永天小天Ai'的智能助手,擅长幽默和简洁的回答。") // 定义角色的行为和风格
|
|
|
.content(aiRole) // 定义角色的行为和风格
|
|
|
.build();
|
|
|
messages.add(0, roleDefinition); // 将角色定义插入到对话历史的开头
|