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应用调用一系列的接口,完成信息检索如查询天气、航班等,或者在软件系统中自动发送邮件、创建记录、提交表单或者是跟踪工作流。比如我们需要新增或者删除操作,只需要通过问答式操作,不在需要点击按钮操作。

以上只是简述了部分菜单包含的功能,更多了解详见官网。

相关推荐
@小阿宝1 分钟前
PPF(Point-Pair Feature,点对特征)
人工智能·机器学习
计算机安禾1 分钟前
【算法设计与分析】第29篇:启发式与元启发式搜索方法综述
java·数据库·算法
DIY源码阁2 分钟前
JavaSwing学生选课系统 - MySQL版
java·数据库·mysql·eclipse
IronMurphy3 分钟前
AI Agent学习day6 从 MCP 到 RAG 记忆:AI Agent 项目中的三块核心基础
人工智能·学习
cxr8284 分钟前
高分子复合材料 AI 逆向设计合——生态级专业补充与产业部署框架
人工智能·材料逆向设计合成
想你依然心痛5 分钟前
HarmonyOS 6(API 23)实战:基于悬浮导航、沉浸光感与HMAF的“律界智脑“——PC端AI智能体沉浸式法律文档智能审查工作台
人工智能·华为·ar·harmonyos·智能体
砍材农夫7 分钟前
物联网实战:Spring Boot + Netty 搭建 MQTT | MQTT 设备模拟器
java·spring boot·后端·物联网·struts·spring·netty
城管不管11 分钟前
Agent——001
android·java·数据库·llm·prompt
AC赳赳老秦12 分钟前
OpenClaw批量任务队列优化:解决任务堆积、执行缓慢、优先级混乱问题
java·大数据·数据库·c++·自动化·php·openclaw
NagatoYukee12 分钟前
SpringSecurity进阶
spring