AI在线 AI在线

面试官:如何实现大模型的连续对话?

所有的大模型本身是不进行信息存储的,也不提供连续对话功能,所以想要实现连续对话功能需要开发者自己写代码才能实现。 那怎么才能实现大模型的连续对话功能呢? 大模型连续对话功能不同的框架实现也是不同的,以行业使用最多的 Java AI 框架 Spring AI 和 Spring AI Alibaba 为例,给大家演示一下它们连续对话是如何实现的。

所有的大模型本身是不进行信息存储的,也不提供连续对话功能,所以想要实现连续对话功能需要开发者自己写代码才能实现。那怎么才能实现大模型的连续对话功能呢?

大模型连续对话功能不同的框架实现也是不同的,以行业使用最多的 Java AI 框架 Spring AI 和 Spring AI Alibaba 为例,给大家演示一下它们连续对话是如何实现的。

1.SpringAI连续对话实现

Spring AI 以 MySQL 数据库为例,我们来实现一下它的连续对话功能。

PS:我们只有先讲对话存储起来,才能实现连续对话功能,所以我们需要借助数据库存储来连续对话。

(1)准备工作

创建表:

添加数据库和 MyBatisPlus 依赖:

设置配置文件:

编写实体类:

编写 Mapper:

(2)自定义ChatMemory类

自定义的 ChatMemory 实现类,将对话记录存储到 MySQL:

(3)代码调用

编写代码测试历史对话保存到 MySQL 的功能:

以上程序执行结果如下:

面试官:如何实现大模型的连续对话?

2.SpringAIAlibaba实现连续对话

Spring AI Alibaba 连续对话的实现就简单很多了,因为它内置了 MySQL 和 Redis 的连续对话存储方式,接下来以 Redis 为例演示 SAA 的连续对话实现,它的实现步骤如下:

  • 添加依赖。
  • 设置配置文件,配置 Redis 连接信息。
  • 添加 Redis 配置类,注入 RedisChatMemoryRepository 对象。
  • 配置 ChatClient 实现连续对话。

具体实现如下。

(1)添加依赖

(2)设置配置文件

设置配置文件,配置 Redis 连接信息:

(3)添加Redis配置类

添加 Redis 配置类,注入 RedisChatMemoryRepository 对象,实现 Redis 自定义存储器注入:

(4)配置ChatClient实现连续对话

小结

通过以上代码大家也可以看出来,使用 Spring AI 实现连续对话是比较复杂的,需要自己实现数据库增删改查的代码,并且重写 ChatMemory 才能实现连续对话功能;而 Spring AI Alibaba 因为内置了连续对话的多种实现(Redis 和其他数据库),所以只需要简单配置就可以实现了。

相关资讯

ChatClient vs ChatModel:开发者必须知道的四大区别!

在 Spring AI/Spring AI Alibaba 框架中,ChatModel 和 ChatClient 都可以实现大模型的文本生成功能,例如聊天机器人,但二者是两种不同层级的 API 封装,分别针对不同的开发场景和需求设计。 1.功能定位与抽象层级1.1 ChatModel直接与具体的大语言模型(如通义千问、OpenAI 等)交互,提供基础的 call() 和 stream() 方法,用于同步或流式调用模型,具体使用如下。 复制它的特点是:使用简单、灵活性高。
6/20/2025 12:00:00 AM
磊哥

DeepSeek Coder 来啦!2025 最出圈的几款 AI 辅助开发工具

Hello,大家好,我是 Sunday。 2025 啦,伴随着 DeepSeek 火爆,一些全新的 AI 辅助编程工具也开始出现啦,今天咱们就一起来看看! DeepSeek-Coder图片作为 2025 最出圈的 AI 工具 DeepSeek 也迎来了他自己的 AI 辅助编程工具。
3/3/2025 12:05:00 AM
程序员Sunday

Java 开发者必看!用 Quarkus + LangChain4j 实现本地 Ollama 的 AI 深度集成

在探索AI与现代技术栈融合的道路上,搭建一个能在本地高效运行的智能交互应用是个不错的实践方向。 本文介绍如何构建 Quarkus 应用程序。 该程序会设置 REST 端点,借助 LangChain4j 调用本地 Ollama 模型,用户调用端点发问题,即可获取模型响应。
5/7/2025 1:01:00 AM
学研妹
  • 1