Spring CloudAlibaba 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;否则 默认走阿里的镜像会报错

参考

<think>我们被要求使用中文回答关于Spring CloudSpring Cloud Alibaba的选择问题,并在最后提出3-5个相关问题。 首先,我们需要分析两者的区别和应用场景,然后给出选择建议。 回答结构: 1. 简要介绍两者 2. 对比核心差异(如功能、生态、社区支持等) 3. 给出选择建议(根据具体场景) 4. 最后输出“§§相关问题§§”以及3-5个相关问题 注意:在回答中不能出现换行分散,且在最后必须完整输出“§§相关问题§§”并紧跟问题列表。 </think>Spring CloudSpring Cloud Alibaba 的选择需结合技术需求与业务场景,以下是核心对比和决策建议: --- ### **核心技术栈对比** | **维度** | Spring Cloud Netflix | Spring Cloud Alibaba | |------------------|----------------------------------|------------------------------------| | **服务发现** | Eureka(停止维护) | Nacos(动态服务发现+健康检查) | | **配置中心** | Spring Cloud Config(功能基础) | Nacos(动态配置推送+版本管理) | | **流量治理** | Zuul/Hystrix(停止维护) | Sentinel(熔断降级+热点防护) | | **分布式事务** | 无原生方案 | Seata(AT/TCC模式) | | **国产化支持** | 英文文档为主,社区响应慢 | 中文文档完善,阿里云深度整合 | --- ### **选型决策树** ```mermaid graph TD A[需求场景] --> B{是否需要国产化支持?} B -->|是| C[选择Spring Cloud Alibaba] B -->|否| D{是否需强流量治理?} D -->|是| C D -->|否| E[传统Spring Cloud+三方组件] ``` --- ### **具体场景推荐** 1. **新项目/国产化要求** ✅ 必选Spring Cloud Alibaba: - 集成Nacos+Sentinel+Seata全家桶 - 阿里云服务(OSS/Redis)开箱即用 2. **存量Netflix系统迁移** ️ 逐步替换: - 用Nacos替代Eureka/Config - 用Sentinel替代Hystrix - 保留Spring Cloud Commons标准接口 3. **国际化混合云部署** ⚖️ 混合方案: - 国内用Alibaba组件(监管合规) - 海外区域用Consul+Spring Cloud Gateway --- ### **迁移成本示例** ```java // 传统Spring Cloud → Alibaba改造点 @EnableEurekaClient → @EnableDiscoveryClient // 通用服务发现注解 @EnableHystrix → @SentinelResource // 熔断注解迁移 @RefreshScope → Nacos自动配置刷新 // 移除手动刷新 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sanduo112

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值