Skip to content

Commit ad91646

Browse files
committed
feat(util):新增会话判空和删除较前历史会话的util
1 parent f6a0f78 commit ad91646

File tree

1 file changed

+23
-16
lines changed

1 file changed

+23
-16
lines changed

src/main/java/com/ashin/util/BotUtil.java

Lines changed: 23 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ public static ChatCompletionRequest.ChatCompletionRequestBuilder getCompletionRe
5555
return completionRequestBuilder;
5656
}
5757

58-
public static List<ChatMessage> getPrompt(String sessionId, String newPrompt) {
58+
public static List<ChatMessage> buildPrompt(String sessionId, String newPrompt) {
5959
if (!PROMPT_MAP.containsKey(sessionId)) {
6060
if (null != botConfig.getBasicPrompt()){
6161
List<ChatMessage> promptList = new ArrayList<>();
@@ -72,23 +72,30 @@ public static void updatePrompt(String sessionId, List<ChatMessage> promptList)
7272
PROMPT_MAP.put(sessionId, promptList);
7373
}
7474

75-
public static void deleteFirstPrompt(String sessionId) {
76-
if (PROMPT_MAP.containsKey(sessionId)){
75+
public static boolean isPromptEmpty(String sessionId){
76+
if (!PROMPT_MAP.containsKey(sessionId)){
77+
return true;
78+
}
79+
List<ChatMessage> promptList = PROMPT_MAP.get(sessionId);
80+
if (null != botConfig.getBasicPrompt()){
81+
return promptList.size() == 1;
82+
}else {
83+
return promptList.size() == 0;
84+
}
85+
}
86+
87+
public static boolean deleteFirstPrompt(String sessionId) {
88+
if (!isPromptEmpty(sessionId)){
89+
int index = null != botConfig.getBasicPrompt() ? 1 : 0;
7790
List<ChatMessage> promptList = PROMPT_MAP.get(sessionId);
78-
//有basicPrompt删除第二个
79-
if (null != botConfig.getBasicPrompt()){
80-
if (promptList.size() > 1){
81-
promptList.remove(1);
82-
updatePrompt(sessionId, promptList);
83-
}
84-
}else {
85-
//没有basicPrompt删除第一个
86-
if (promptList.size() > 0){
87-
promptList.remove(0);
88-
updatePrompt(sessionId, promptList);
89-
}
90-
}
91+
//问
92+
promptList.remove(index);
93+
//答
94+
promptList.remove(index);
95+
updatePrompt(sessionId, promptList);
96+
return true;
9197
}
98+
return false;
9299
}
93100

94101
public static void resetPrompt(String sessionId) {

0 commit comments

Comments
 (0)