# 《AI智能问答系统》落地实现-第02节:AI智能问答系统历史会话模型的设计与实现

作者:冰河
星球:http://m6z.cn/6aeFbs (opens new window)
博客:https://binghe.gitcode.host (opens new window)
文章汇总:https://binghe.gitcode.host/md/all/all.html (opens new window)
源码获取地址:https://t.zsxq.com/0dhvFs5oR (opens new window)

沉淀,成长,突破,帮助他人,成就自我。

  • 本章难度:★★☆☆☆
  • 本章重点:对AI智能问答系统的历史会话模型进行设计和实现,从全局角度掌握AI智能问答系统历史会话模型的核心设计思路和设计方法。重点掌握对接公网AI大模型的通用设计思路和设计方法,并能够将其灵活应用到自身实际项目中。

大家好,我是冰河~~

经过之前的咔咔一顿手搓,我们已经实现了AI智能系统的简单对话模型,并且将项目的主体结构已经搭建出来。整体结构已经去除了繁杂并且冗余的代码,保持核心功能的同时,确保整体结构最为精简。

# 一、前言

AI智能问答系统主打一个简单实用,在最初设计时,就去除了复杂、冗余的代码结构,力求精简。虽然整体项目非常简单,但始终要保持核心功能正确性。在《落地实现-第01节:AI智能问答系统简单对话模型的设计与实现 (opens new window)》一节中,我们已经基于SpringAI实现了通过简单对话模型与硅基流动平台进行交互。接下来,我们就基于SpringAI实现历史对话模型。

# 二、核心诉求

对AI智能问答系统的历史会话模型进行设计和实现,从全局角度掌握AI智能问答系统历史会话模型的核心设计思路和设计方法。重点掌握对接公网AI大模型的通用设计思路和设计方法,并能够将其灵活应用到自身实际项目中。

# 三、核心设计

注意:本节只给大家展示AI智能问答系统实现历史对话模型的核心类实现关系,其他代码的实现细节,大家可以自行到本节对应的源码分支进行查看,这里不再赘述。

AI智能问答系统实现历史对话模型的核心类设计如图2-1所示。


可以看到,AI智能问答系统实现简单历史模型的核心类除了简单对话模型涉及的核心类外,新增了SimpleAiConversationService类和/api/ai/session-ask接口。

# 四、编码实现

本节只给大家展示AI智能问答系统关于历史对话模型的核心类编码实现,其他代码的实现细节,大家可以自行到本节对应的源码分支进行查看,这里不再赘述。

(1)实现SimpleAiConversationService类

SimpleAiConversationService类是AI只能问答系统中基于历史会话模型与硅基流动平台交互的实现类。为保持整体项目简洁性,在实现SimpleAiConversationService类的过程中,我们将部分历史会话信息存储到conversations这个Map结构中,实际需要存储到数据库或者其他存储。

源码详见:io.binghe.springai.service.SimpleAiConversationService。

# 查看完整文章

加入冰河技术 (opens new window)知识星球,解锁完整技术文章、小册、视频与完整代码