使用 Spring AI 确保多用户聊天应用程序中用户特定的内存和上下文

问题描述 投票:0回答:1

具有多个用户的聊天应用程序如何处理内存和上下文?

例如:

用户 1 询问有关 Java 编程的问题。应用程序应保留并使用用户 1 的特定对话历史记录和上下文,以获得准确的响应。

用户2询问有关Python编程的问题。应用程序应保留并使用用户 2 的特定对话历史记录和上下文,以获得准确的响应。

Spring AI 如何确保正确的记忆或对话历史与相应的用户提示相关联?

例如,当用户 1 提出与 Java 相关的查询时,系统应仅引用用户 1 的对话历史记录,而不应将其与用户 2 的上下文混淆。

java spring spring-boot spring-ai
1个回答
0
投票

ChatMemory
接口,并且它有
InMemoryChatMemory
CassandraChatMemory
的默认实现。如果您需要自己的实现,那么您可以通过实现 ChatMemory 接口来实现。并将此实现传递给
ChatClient
作为顾问,如
MessageChatMemoryAdvisor

chatClient = builder
                .defaultAdvisors(
                        new MessageChatMemoryAdvisor(chatMemory));

这里是我创建的Spring AI Advance项目的链接,你可以参考它我已经实现了ChatMemory接口。

© www.soinside.com 2019 - 2024. All rights reserved.