# 《AI智能问答系统》落地实现-第01节: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智能问答系统的执行流程进行了简单的设计。接下来,我们就可以开始着手设计和开发AI智能问答系统了。

# 一、前言

AI智能问答系统的功能主打一个简单实用,总体结构上分为后端服务和前端页面。通过在前端输入内容后,调用后端服务的接口发送数据,后端服务接收到数据后,将数据进行解析并封装成硅基流动平台接口的参数,调用硅基流动平台的接口将封装好的参数传递过去,并接收硅基流动平台大模型返回的结果数据,将其返回给前端页面。

# 二、本节诉求

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

# 三、核心设计

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

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


可以看到,AI智能问答系统实现简单对话模型的核心类主要设计到SimpleAiConfig类、Constants类、MessageRequest类、SimpleAiQaService类、SimpleAiController类和SimpleAiApplication类。

  • SimpleAiConfig类:AI智能问答系统的整体配置类,主要初始化ChatClient和向量存储类。
  • Constants类:整体系统的常量类,统一存放各种使用的常量信息。
  • MessageRequest类:统一封装的AI智能问答系统对外接收的参数模型。
  • SimpleAiQaService类:整个AI智能问答系统最核心的实现类,实例化chatClient对象和promptTemplate对象,并且提供简单问答的getAnswer()方法,在getAnswer()方法中,封装模板参数,创建提示词并调用chatClient对象的方法向硅基流动大模型发送数据,并接收响应的结果数据。
  • SimpleAiController类:AI智能问答系统统一对外提供的接口类,所有对外的HTTP接口都在此类中进行定义和实现。
  • SimpleAiApplication类:整个AI智能问答系统的启动类。

# 四、编码实现

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

(1)实现SimpleAiConfig类

SimpleAiConfigAI类是AI智能问答系统的整体配置类,主要初始化ChatClient和向量存储类。

源码详见:io.binghe.springai.config.SimpleAiConfig。

# 查看完整文章

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