Spring AI Starter和文档解读
Spring AI Starter和文档解读
前言:
随着大模型的层出不穷,单独去接入大模型,不但麻烦还有很多重复操作,Spring 整合Ai,提供了统一的接入方式,我们只需要引入Spring aii就可以接入Sping Ai之前的大模型。本文介绍如何查看官网和官网API介绍。
本文参考Spring 官方文档
Spring ai 官方文档地址:https://docs.spring.io/spring-ai/reference/api/chatclient.html
Spring Ai 当前版本
打开官方API文档,可以看到目前的稳定版本是1.0.1,还有一个1.1.0-SNAPSHOT。点击…的地方,就能查看版本,并且切换版本。本文使用1.0.1稳定版本。
SpingBoot 要求版本
在api 文档,左侧选择Getting Started,可以看到Note下面的一句话"Spring AI supports Spring Boot 3.4.x. When Spring Boot 3.5.x is released, we will support that as well.",翻译过来说就是要求必须是Spring Boot 3.4以上版本,Spring Boot 3.5以上版本支持的更好。如下图:
快照仓库配置
如果你使用快照版本,需要在pom.xml中配置Repositories,如下所示:
<repositories><repository><id>spring-snapshots</id><name>Spring Snapshots</name><url>https://repo.spring.io/snapshot</url><releases><enabled>false</enabled></releases></repository><repository><name>Central Portal Snapshots</name><id>central-portal-snapshots</id><url>https://central.sonatype.com/repository/maven-snapshots/</url><releases><enabled>false</enabled></releases><snapshots><enabled>true</enabled></snapshots></repository>
</repositories>
引入BOM版本管理
BOM用于管理Spring ai所有依赖的版本,以避免版本冲突。
<dependencyManagement><dependencies><dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-bom</artifactId><version>1.0.0-SNAPSHOT</version><type>pom</type><scope>import</scope></dependency></dependencies>
</dependencyManagement>
Maven 镜像配置
当使用快照版本的spring ai,通过maven进行管理时,需要设置maven镜像配置。需要在settings.xml中进行如下配置:
<mirror><id>my-mirror</id><mirrorOf>*</mirrorOf><url>https://my-company-repository.com/maven</url>
</mirror>
spring ai 文档包含内容解读
我们点开Reference菜单,可以发现有很多子菜单,如下:
Chat Client API:springAI 提供统一的chatClient,所有大模型都使用chatClient进行调用大模型
Advisors(顾问):Spring Ai提供的一个顾问的关键概念,用于增强提示词、控制生成过程,注入业务逻辑。类似于AOP切面,会对调用大模型请求进行拦截,可以处理日志、chat Memory存储等功能。
Prompts(提示词):Spring ai提供了System提示词,可以为AI指定一个角色以及要求回复格式
Structured Output Converter(结构化输出转化器):Spring Ai提供了转换器,可以帮助我们从大模型输出格式转换成结构化数据格式
Multimodality(多模态) :Spring ai 引入一个可以理解和处理不同类型的数据,包含文本、声音、图片和其他格式的数据。
Models(模型):模型中提供了对话模型、向量模型、图像模型、声音模型和内容审核模型。
Chat Memory(上下文存储):Spring ai提供了内存存储、数据库存储和redis存储这几种上下文存储,可以设置存储上下文的条数。
Tool Calling(工具调用):工具调用也就是我们熟知的funcation call,它允许ai应用调用一系列的接口,完成信息检索如查询天气、航班等,或者在软件系统中自动发送邮件、创建记录、提交表单或者是跟踪工作流。比如我们需要新增或者删除操作,只需要通过问答式操作,不在需要点击按钮操作。
以上只是简述了部分菜单包含的功能,更多了解详见官网。