首页 > 其他分享 >阿里也出手了!Spring CloudAlibaba AI问世了

阿里也出手了!Spring CloudAlibaba AI问世了

时间:2024-06-17 09:14:35浏览次数:11  
标签:CloudAlibaba AI Spring alibaba ai spring cloud

写在前面

在之前的文章中我们有介绍过SpringAI这个项目。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 AISpring AI 为基础,并在此基础上,基于 Spring AI 0.8.1 版本 API 完成同义系列大模型的接入

实现阿里云同义系列大模型全面适配。

在当前最新版本中,Spring Cloud Alibaba AI 主要完成了几种常见生成式模型的适配,包括对话、文生图、文生语音等,

开发者可以使用 Spring Cloud Alibaba AI 开发基于同义的聊天、图片或语音生成 AI 应用,

框架还提供 OutParserPrompt TemplateStuff 等实用能力。

三、第一个Spring AI应用开发

① 新建maven 项目

注: 在创建项目的时候,jdk版本必须选择17+

新建maven项目

② 添加依赖

<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>

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-ai</artifactId>
    <version>2023.0.1.0</version>
</dependency>

注: 这里我们需要配置镜像源,否则是没法下载依赖的。会报如下错误

spring-ai: 0.8.1 dependency not found

<repositories>
    <repository>
        <id>spring-milestones</id>
        <name>Spring Milestones</name>
        <url>https://repo.spring.io/milestone</url>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </repository>
</repositories>

③ 在 application.yml 配置文件中添加api-key

spring:
  cloud:
    ai:
      tongyi:
        api-key: 你自己申请的api-key

小伙伴如果不知道在哪申请,我把申请链接也放这儿了

https://dashscope.console.aliyun.com/apiKey

操作步骤:https://help.aliyun.com/zh/dashscope/developer-reference/activate-dashscope-and-create-an-api-key

④ 新建TongYiController 类,代码如下

@RestController
@RequestMapping("/ai")
@CrossOrigin
@Slf4j
public class TongYiController {

    @Autowired
    @Qualifier("tongYiSimpleServiceImpl")
    private TongYiService tongYiSimpleService;

    @GetMapping("/example")
    public String completion(@RequestParam(value = "message", defaultValue = "Tell me a joke") String message) {

        return tongYiSimpleService.completion(message);
    }
    
}

⑤ 新建TongYiService 接口,代码如下

public interface TongYiService {
    String completion(String message);

}

⑥ 新建TongYiSimpleServiceImpl 实现类,代码如下

@Service
@Slf4j
public  class TongYiSimpleServiceImpl  implements TongYiService {

    private final ChatClient chatClient;

    @Autowired
    public TongYiSimpleServiceImpl(ChatClient chatClient, StreamingChatClient streamingChatClient) {
        this.chatClient = chatClient;
    }

    @Override
    public String completion(String message) {
        Prompt prompt = new Prompt(new UserMessage(message));

        return chatClient.call(prompt).getResult().getOutput().getContent();
    }


}

到这儿我们一个简单的AI应用已经开发完成了,最终项目结构如下

项目结构

四、运行AI应用

启动服务,我们只需要在浏览器中输入:http://localhost:8080/ai/example 即可与AI交互。

① 不带message参数,则message=Tell me a joke,应用随机返回一个笑话

随机讲一个笑话1

② 我们在浏览器中输入:http://localhost:8080/ai/example?message=对话内容

message带入

五、前端页面对话模式

我们只更加在resources/static 路径下添加一个index.html前端页面,即可拥有根据美观的交互体验。

index.html代码官方github仓库中已给出样例,由于代码比较长,这里就不贴代码了

https://github.com/alibaba/spring-cloud-alibaba/blob/2023.x/spring-cloud-alibaba-examples/ai-example/spring-cloud-ai-example/src/main/resources/static/index.html

添加完静态页面之后,我们浏览器中输入:http://localhost:8080/index.html 就可以得到一个美观的交互界面

美观交互界面

接下来,我们来实际体验一下

UI交互

六、其他模型

上面章节中我们只简单体验了对话模型,阿里还有很多其他模型。由于篇幅原因这里就不一一带大家一起体验了。

应用场景:

应用场景

各个模型概述:

模型概述

七、怎么样快速接入大模型

各种应用场景阿里官方GitHub都给出了接入例子

https://github.com/alibaba/spring-cloud-alibaba/tree/2023.x/spring-cloud-alibaba-examples/ai-example/spring-cloud-ai-example

官方样例

感兴趣的小伙伴可以自己到上面github 仓库看代码研究

本期内容到这儿就结束了,★,°:.☆( ̄▽ ̄)/$:.°★ 。 希望对您有所帮助

我们下期再见 ヾ(•ω•`)o (●'◡'●)

标签:CloudAlibaba,AI,Spring,alibaba,ai,spring,cloud
From: https://www.cnblogs.com/xiezhr/p/18251683

相关文章

  • ChatGPT学习之旅 (6) 聊聊AI人设
    大家好,我是Edison。上一篇:Prompt终极用法通过前面5篇内容我们了解了从基础到高级的Prompt用法,今天我们来聊聊AI的人设!打造人设的步骤:只要3步在Prompt实践中,我们了解到需要给AI打造一个人设,这样它才能比较精确地get到场景。其实,人设的本质就是有效地给AI洗脑,引导GPT专注于解决......
  • 基于springboot的球队训练信息管理系统源码数据库
    传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装球队训练信息管理系统软件来发挥其高效地信息处理的作用,可以规范信息管理流程,让管理工作可以系统化和程序化,同时,球队训练信息管理系......
  • 基于springboot的青年公寓服务平台源码数据库
    传统信息的管理大部分依赖于管理人员的手工登记与管理,然而,随着近些年信息技术的迅猛发展,让许多比较老套的信息管理模式进行了更新迭代,房屋信息因为其管理内容繁杂,管理数量繁多导致手工进行处理不能满足广大用户的需求,因此就应运而生出相应的青年公寓服务平台。本青年公寓服务......
  • AI智能名片S2B2C商城系统小程序在社区团购模式中的应用与影响
    摘要:本文探讨了AI智能名片S2B2C商城系统小程序在社区团购模式中的应用及其带来的商业价值。通过分析2020年新冠疫情期间社区团购模式的崛起和AI智能名片S2B2C商城系统小程序的特点,文章揭示了这两者结合所带来的营销效率提升、用户体验优化以及社区商业生态的创新。一、引言......
  • 开源AI智能名片O2O商城系统小程序在品牌线下开店决策中的应用与价值
    摘要:随着电商的迅猛发展,品牌商在线下开店的决策变得更为复杂。本文探讨了开源AI智能名片O2O商城系统小程序如何助力品牌商在线下开店决策中提高运营效率和用户体验,从而实现本地化最优成本。通过优衣库等案例分析,阐述了线下开店成功的要素,并指出开源AI智能名片O2O商城系统小程......
  • 定制开发AI智能名片商城小程序的服务策略与风险管理
    摘要:随着数字化时代的深入发展,AI技术在商业领域的应用日益广泛。本文探讨了技术公司和个人创业者如何提供定制开发AI智能名片商城小程序的服务,并详细分析了服务过程中需要注意的细节和风险。通过关键词“定制开发AI智能名片商城小程序”的引入,本文旨在为服务提供者和需求方提......
  • 多商家AI智能名片B2B2C商城小程序的商业价值及可持续性探讨
    摘要:随着科技的飞速发展,AI技术已广泛应用于商业领域。多商家AI智能名片B2B2C商城小程序作为一种创新的商业模式,结合了AI技术与电子商务的便利性。本文通过插入关键词“多商家AI智能名片B2B2C商城小程序”,深入探讨了该类小程序的有用性、好用性以及可持续性,旨在分析其商业价值......
  • 借助AI进行Odoo-OCA模块的中国本地化自动化翻译
    背景描述最近在参与OCA模块的中文翻译,在线操作Weblate逐条不够丝滑,遂下载po文件使用poedit进行翻译;但是用poedit操作几次之后发现几乎都是重复劳动,本着程序员一个活重复干三遍以上就自动化的原则,驱动通义千问去编写脚本调用AI的接口进行自动化的翻译。LLMAPIProvider用的月......
  • spring boot(学习笔记第八课)
    springboot(学习笔记第八课)数据库操作-MyBatis,SpringDataJPA,多数据源学习内容:数据库操作-MyBatis数据库操作-SpringDataJPA多数据源(JdbcTemplate)1.数据库操作-MyBatisspringboot的操作有JdbcTemplate,MyBatis,SpringDataJPA主要这三个包。其中,JdbcTempla......
  • Jersey+Spring构建RESTful Web服务
    简介目前jersey已经不流行,但一些老的项目还在使用,jersey和目前流行的springboot还是有少许不同,特此记录。搭建服务pom<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>......