Spring CloudAlibaba AI 问世了
- 背景介绍
- Spring AI 简介
- Spring Cloud Alibaba AI 简介
- 第一个Spring AI应用开发
- 新建maven 项目
- 添加依赖
- 配置spring ai 的核心依赖仓库
- 参考
背景介绍
SpringAI 是Spring 官方社区项目,旨在简化 Java AI 应用程序开发,让 Java 开发者像使用 Spring开发普通应用一样开发 AI 应用, 而SpringAI 主要面向的是国外的各种大模型接入,对于国内开发者可能不太友好。
于是乎,Spring Cloud Alibaba AI便问世了,Spring Cloud Alibaba AI以 Spring AI 为基础,并在此基础上提供阿里云通义系列大模型全面适配,让用户在 5 分钟内开发基于通义大模型的 Java AI 应用。
Spring AI 简介
可能有些小伙伴已经忘记了SpringAI 是啥?我们这儿再来简单回顾一下。
Spring AI是一个面向AI工程的应用框架。其目标是将可移植性和模块化设计等设计原则应用于AI领域的Spring生态系统,
并将POJO作为应用程序的构建块推广到AI领域。
转换为人话来说就是:Spring出了一个AI框架,帮助我们快速调用AI,从而实现各种功能场景。
Spring Cloud Alibaba AI 简介
Spring Cloud Alibaba AI 以 Spring AI 为基础,并在此基础上,基于 Spring AI 0.8.1 版本 API 完成通义系列大模型的接入实现阿里云通义系列大模型全面适配。
在当前最新版本中,Spring Cloud Alibaba AI 主要完成了几种常见生成式模型的适配,包括对话、文生图、文生语音等,开发者可以使用 Spring Cloud Alibaba AI 开发基于通义的聊天、图片或语音生成 AI 应用,框架还提供 OutParser、Prompt Template、Stuff 等实用能力。
第一个Spring AI应用开发
新建maven 项目
- 注: 在创建项目的时候,jdk版本必须选择17+、SringBoot3.0+
添加依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2023.0.1.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!--springCloud alibaba ai-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-ai</artifactId>
<version>2023.0.1.2</version>
</dependency>
- 注: 这里我们需要配置镜像源,否则是没法下载依赖的。会报如下错误
配置spring ai 的核心依赖仓库
- 本地仓库 > settings文件中配置的profile > pom文件中仓库地址 >settings文件中的mirror
id必须是唯一的,是mirror在settings文件中唯一标识
mirrorOf很重要,它的意思是:为id为mirrorof值的repository提供镜像,它有一下的几种配置:
(1)所有的仓库,所有repository都走mirror配置的url
(2)external::表示任何不在localhost和文件系统中的远程库
(3)r1,r2:表示r1库或者r2库
(4),!r1:除了r1库之外的任何远程库
在使用mirror的时候,需要注意的是一个repository只能有一个mirror
因此即使我在pom文件指定了repository,虽然pom文件的repository优先级比mirror优先级高,但是mirrorOf的已经把所有repository都替换了,所以pom文件中的repository不起作用。
<!--
默認排除了spring-milestones仓库以避免在編譯時引入不必要的舊版本。
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*,!spring-milestones</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
-->
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
- 注意:settings.xml 必须改成 *,!spring-milestones;否则 默认走阿里的镜像会报错
参考
- 阿里也出手了!Spring CloudAlibaba AI问世了
- 解决Maven的pom.xml中设置repository不起作用问题