diff --git a/chat2db-server/chat2db-server-web/chat2db-server-web-api/src/main/java/ai/chat2db/server/web/api/controller/ai/ChatController.java b/chat2db-server/chat2db-server-web/chat2db-server-web-api/src/main/java/ai/chat2db/server/web/api/controller/ai/ChatController.java index 8010a1258..d5084be56 100644 --- a/chat2db-server/chat2db-server-web/chat2db-server-web-api/src/main/java/ai/chat2db/server/web/api/controller/ai/ChatController.java +++ b/chat2db-server/chat2db-server-web/chat2db-server-web-api/src/main/java/ai/chat2db/server/web/api/controller/ai/ChatController.java @@ -269,7 +269,7 @@ private SseEmitter chatWithRestAi(ChatQueryRequest queryRequest, SseEmitter sseE RestAIEventSourceListener restAIEventSourceListener = new RestAIEventSourceListener(sseEmitter); RestAIClient.getInstance().streamCompletions(messages, restAIEventSourceListener); - LocalCache.CACHE.put(uid, JSONUtil.toJsonStr(messages), LocalCache.TIMEOUT); + LocalCache.CACHE.put(uid, messages, LocalCache.TIMEOUT); return sseEmitter; } @@ -462,7 +462,8 @@ private SseEmitter chatWithBaichuanAi(ChatQueryRequest queryRequest, SseEmitter * @return */ private List getFastChatMessage(String uid, String prompt) { - List messages = (List)LocalCache.CACHE.get(uid); + Object cached = LocalCache.CACHE.get(uid); + List messages = (cached instanceof List) ? (List) cached : null; if (CollectionUtils.isNotEmpty(messages)) { if (messages.size() >= contextLength) { messages = messages.subList(1, contextLength);