对话模型接口描述

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模型的对话请求:

图片

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐