当前位置: 首页 > news >正文

Spring AI开发指导-对话模型

对话模型接口描述

Spring AI基于Spring Cloud的架构体系,定义了一系列可扩展的API接口,支持对接不同类型的AI大模型的核心功能,这些API接口支持同步编程模式或者异步编程模式:

图片

接口Model

Model是同步编程模式接口,其参数支持同步请求与响应:

图片

接口Model的模型类型的继承实现的抽象具体关系:

图片

接口StreamingModel

StreamingModel是异步编程模式接口,其参数支持异步流式请求与响应:

图片

接口StreamingModel的模型类型的继承实现的抽象具体关系:

图片

接口ChatModel

ChatModel是对话模型的扩展接口,不同AI模型的厂商独立实现该接口,在Maven项目中,需要独立引入对应AI模型厂商的依赖库:

图片

接口ChatModel继承了同步编程接口Model以及异步编程接口StreamingChatModel,该接口既支持同步编程模式,也支持异步编程模式:

图片

在Maven项目中,引入了AI模型厂商DeepSeek的依赖库,接口ChatModel的模型类型的继承实现的抽象具体关系:

图片

Prompt提示词接口描述

接口ModelRequest

对话模型的请求信息接口ModelRequest,所有对话模型的请求信息都实现该接口,包括提示词:

图片

请求信息接口ModelRequest的继承实现的抽象具体关系:

图片

接口ModelResponse

对话模型的响应信息接口ModelResponse,所有对话模型的响应信息都实现该接口:

图片

响应信息接口ModelResponse的继承实现的抽象具体关系:

图片

提示词类Prompt

提示词类Prompt的继承实现的抽象具体关系,其中,接口Message用于封装消息内容:

图片

Spring AI消息内容接口

Spring AI消息内容接口的继承实现的抽象具体关系:

图片

接口Content

消息内容顶层接口Content,所有内容消息类型都实现该接口:

图片

消息内容顶层接口Content的继承实现的抽象具体关系:

图片

接口Message

消息内容接口Message,所有消息内容类型都实现该接口:

图片

消息内容接口Message的继承实现的抽象具体关系:

图片

接口MediaContent

多媒体内容接口MediaContent:

图片

多媒体内容接口MediaContent的继承实现的抽象具体关系:

图片

抽象类AbstractMessage

消息内容的抽象类AbstractMessage,所有消息内容类型都实现该类:

图片

消息内容的抽象类AbstractMessage的继承实现的抽象具体关系:

图片

接口MessageType

消息内容的消息类型,其中,包括user类型,该类型的消息来自客户端用户,assistant类型,该类型的消息来自AI模型的响应,system类型,该类型的消息来自系统级别的指示,tool类型,该类型的消息来自工具调用中的功能需求:

图片

消息内容为user类型的类:

图片

消息内容为assistant类型的类:

图片

消息内容为system类型的类:

图片

消息内容为tool类型的类:

图片

Spring AI应用与AI模型的业务流程

Spring AI应用获取客户端输入的提示词Prompt,Spring AI应用处理输入的Prompt,向AI模型发起请求,AI模型处理业务,AI模型响应Spring AI应用的请求,Spring AI应用处理输出,响应客户端的请求:

图片

工具调用流程

Spring AI支持的AI模型工具调用的业务流程:

图片

1.Spring AI应用接受客户端的请求,向AI模型发起对话的请求,请求信息包括工具调用的元数据信息,名称、描述以及输入数据

2.AI模型向Spring AI应用发起工具调用的请求,Spring AI应用向第三方的开放接口转发AI模型的请求

3.Spring AI应用调用第三方的开放接口

4.第三方的开放接口响应Spring AI应用的请求

5.Spring AI应用响应AI模型的请求

6.AI模型响应Spring AI应用的请求,Spring AI应用响应客户端的请求

数据标准化流程

Spring AI提供开发框架支持数据标准化的业务流程,读取数据源输入的文档文本,对文档文本执行标准化处理,输出文档文本到存储中保存:

图片

DeepSeek对话模型应用开发

搭建开发环境

Spring AI支持很多AI模型的集成开发,其中,包括DeepSeek大模型,注册登录DeepSeek官方网站,获取开放平台提供的API接口调用的API-keys,在Spring Boot Maven项目的属性配置文件中设置spring.ai.deepseek.api-key,在Maven配置文件中引入deepseek-ai开发依赖库以及webflux开发框架依赖库:

图片

开发AI应用服务

定义Spring AI 应用的web服务接口,初始化DeepSeek的AI模型对话客户端:

图片

定义Spring AI 应用的同步编程模式的web服务接口,Spring AI应用向AI模型发送对话请求,Spring AI应用向客户端响应AI模型的对话请求:

图片

定义Spring AI 应用的异步编程模式的web服务接口,Spring AI应用向AI模型发送对话请求,Spring AI应用向客户端异步流式响应AI模型的对话请求:

图片

http://www.dtcms.com/a/347320.html

相关文章:

  • WiFi有网络但是电脑连不上网是怎么回事?该怎么解决?
  • TDengine IDMP 应用场景:工业锅炉监控
  • 【前端面试题✨】HTML 篇(一)
  • 二叉树的经典算法与应用
  • MERGE 语句在 Delta Lake 中的原子更新原理
  • C++ + Boost + MySQL 项目完整教程
  • Python reduce / map / filter 函数区别
  • Spring Boot Redis 入门
  • 注意力机制中除以Dk的方差归一化
  • 博客系统接口自动化练习
  • (nice!!!)(LeetCode 面试经典 150 题) 173. 二叉搜索树迭代器 (栈)
  • portswigger labs XXE漏洞利用实战
  • 一次转向:从 当前讨论到 拼PIN语言的拼块语言理论体系
  • 嵌入式软件/硬件工程师面试题集
  • 从观众席到股东席,何猷君成NBA凯尔特人新Co-owner
  • 网址账号正确,密码错误返回的状态码是多少
  • Java基础面试题(04)—Java(Java中String StringBuffer 和 StringBuilder的区别)
  • 山西某焦化厂炼焦区电气维护系统无线传输解决方案实施案例
  • Mangio RVC Fork 本地部署(Cuda12.9)
  • 蓝牙aoa仓库管理系统功能介绍
  • 有哪些Spring Boot微服务架构成功落地的案例?
  • GitHub发布革命性工具:GitHub Spark,用自然语言打造全栈智能应用
  • yolo命令行-训练篇(三)
  • Android安卓学习日志1 聊一聊安卓的历史和笔者的想法
  • 微服务统一入口——Gateway
  • 航空复杂壳体零件深孔检测方法 - 激光频率梳 3D 轮廓检测
  • 把 AI 塞进「自行车码表」——基于 MEMS 的 3D 地形预测码表
  • 基础IO
  • electron进程间通信-IPC通信注册机制
  • SAP FI 应收应付账龄分析