【实操】Spring Cloud Alibaba AI,阿里AI这不得玩一下(含前后端源码)

简介: 本文介绍了如何使用 **Spring Cloud Alibaba AI** 构建基于 Spring Boot 和 uni-app 的聊天机器人应用。主要内容包括:Spring Cloud Alibaba AI 的概念与功能,使用前的准备工作(如 JDK 17+、Spring Boot 3.0+ 及通义 API-KEY),详细实操步骤(涵盖前后端开发工具、组件选择、功能分析及关键代码示例)。最终展示了如何成功实现具备基本聊天功能的 AI 应用,帮助读者快速搭建智能聊天系统并探索更多高级功能。

前言

🍊缘由

阿里AI一出马,gpt都得拉下把

🏀闪亮主角:

大家好,我是JavaDog程序狗

今天跟大家分享Spring Cloud Alibaba AI, 以Spring AI 为基,并提供阿里云通义大模型的 Java AI 应用。

本狗以SpringBoot+uniapp+uview2对接Spring Cloud Alibaba AI,带你玩转实现自己的聊天小AI

📘你想听的故事

狗哥在翻阅之前写的文章时,发现很多对接gpt的实操项目文章都被和谐了,而且老美还限制我们爱国青年使用gpt

呸,老美这卑鄙手段。所以从我做起,拒绝黄拒绝赌拒绝gpt,找一个平替的国内AI大模型,让gpt食屎去吧!

Spring Cloud Alibaba AI 阿里国产的通义AI大模型,绝对是平替gpt的梦中情AI,就让本狗带大家手把手一起玩耍下吧。

🎁如何获取源码

公众号:【JavaDog程序狗】

关注公众号,发送 “alibaba-ai”,无任何套路即可获得!

正文

🎯主要目标

实现3大重点

1. 了解Spring Cloud Alibaba AI 是什么
2. 使用Spring Cloud Alibaba AI 前置条件
3. SpringBoot+uniapp+uview2对接Spring Cloud Alibaba AI实操步骤

🥦目标讲解

一. Spring Cloud Alibaba AI 是什么

Spring Cloud Alibaba AI 是一个基于 Spring AI 的扩展框架,它提供了对阿里云通义系列大模型的支持,使得开发者能够更容易地在 Java 应用程序中集成和使用这些 AI 模型。

基础框架

Spring Cloud Alibaba AI 基于 Spring AI 构建,这意味着它继承了 Spring AI 的核心功能,并在此基础上增加了特定于阿里云通义系列大模型的功能。

Spring AI

Spring AI 是一个用于简化机器学习和人工智能应用开发的框架,它提供了一套工具和抽象层来帮助开发者更容易地将 AI 功能集成到他们的应用程序中。

通义系列大模型

阿里云的一系列预训练大模型,如通义千问等,它们可以用于多种场景,包括但不限于文本生成、对话系统、文档检索等。

快速集成

Spring Cloud Alibaba AI 提供了简便的方式来接入这些大模型,使得开发者可以在较短的时间内完成 AI 功能的开发和部署。

Spring Boot 支持

为了使用 Spring Cloud Alibaba AI,你需要有一个基于 Spring Boot 的项目,并且 Spring Boot 的版本需要是 3.x 或更高版本

JDK 版本要求

为了支持最新的特性和性能优化,推荐使用 JDK 17 或更高版本


二. 使用Spring Cloud Alibaba AI 前置条件

1.JDK版本17+

如果有条件直接JDK21,一步到位,本狗使用的JDK21

JDK21官网地址

2.SringBoot3.0+

本狗使用SringBoot3.1.10版本

SpringBoot文档官网地址

3.申请通义API-KEY

申请调用Spring Cloud Alibaba AI的API-KEY

DashScope模型服务灵积


三. SpringBoot+uniapp+uview2对接Spring Cloud Alibaba AI实操步骤

1.准备

开发工具
工具 版本 用途
IDEA 2023.3.3 Java开发工具
HBuilder X 3.98 前端开发者服务的通用 IDE
API-KEY申请
账号 功能 描述
阿里云 API-KEY 前置中申请阿里AI的API-KEY
主要组件
  • 前端
插件 版本 用途
uview-ui ^2.0.31 多平台快速开发的UI框架
mescroll-uni 1.3.7 mescroll高性能的下拉刷新上拉加载组件
  • 后端
插件 版本 用途
jdk 21 java环境
lombok 1.18.30 代码简化插件
maven 3.6.3 包管理工具
druid 1.1.24 JDBC组件
hutool 5.8.29 Java工具类库
mybatis-plus 3.5.7 基于 MyBatis 增强工具
mysql 8.0 数据库
spring-cloud-alibaba-ai 2023.0.1.0 阿里提供的 API

2.功能分析

后端

提供用户登录,注册,聊天等接口,对接spring-cloud-alibaba-ai

前端

画出登录,注册,聊天页面,消息分页,下拉加载历史数据,AI消息打印展现效果等页面操作。

对接

前后端对接,实现智能AI聊天基本功能。

3.开发

后端代码总览

具体分层搭建此处省略,如有疑问请参考

【SpringBoot】还不会SpringBoot项目模块分层?来这手把手教你 完全跟着复制分层即可。

doc文件夹下有DB脚本,别忘跑!别忘跑!别忘跑!

后端-关键点

引入spring-cloud-alibaba-ai依赖,版本为 \2023.0.1.0\

 <!--阿里云为分布式应用开发提供了一站式解决方案-->
  <dependency>
       <groupId>com.alibaba.cloud</groupId>
       <artifactId>spring-cloud-alibaba-dependencies</artifactId>
       <version>${spring-cloud-alibaba.version}</version>
       <type>pom</type>
       <scope>import</scope>
   </dependency>

   <!--阿里云为分布式应用开发提供AI集成-->
   <dependency>
       <groupId>com.alibaba.cloud</groupId>
       <artifactId>spring-cloud-starter-alibaba-ai</artifactId>
       <version>${spring-cloud-alibaba-ai.version}</version>
   </dependency>

调用alibaba-ai方法

参考文档https://sca.aliyun.com/docs/2023/user-guide/ai/quick-start/

    private String handleAI(Message message){
   
        Generation gen = new Generation();
        com.alibaba.dashscope.common.Message systemMsg = com.alibaba.dashscope.common.Message.builder()
                .role(Role.SYSTEM.getValue())
                .content("中文回复")
                .build();
        com.alibaba.dashscope.common.Message userMsg = com.alibaba.dashscope.common.Message.builder()
                .role(Role.USER.getValue())
                .content(message.getMsgContent())
                .build();
        GenerationParam param = GenerationParam.builder()
                .model("qwen-turbo")
                .messages(Arrays.asList(systemMsg, userMsg))
                .resultFormat(GenerationParam.ResultFormat.MESSAGE)
                .topK(50)
                .temperature(0.8f)
                .topP(0.8)
                .seed(1234)
                .build();
        try {
   
            return gen.call(param).getOutput().getChoices().get(0).getMessage().getContent();
        } catch (NoApiKeyException e) {
   
            throw new RuntimeException(e);
        } catch (InputRequiredException e) {
   
            throw new RuntimeException(e);
        }
    }

一定修application.yml配置文件中的api-key

  cloud:
    ai:
      tongyi:
        # 一定替换成自己的,也就是上方前置准备那里从阿里控制台获取的api-key
        api-key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
前端代码总览

前端-关键点

如何实现打字机效果?

原理就是采用定时器,每次截取一个字节进行内容填充

// interval
intervalFunc(){
   
   // 深拷贝内容
   let content = uni.$u.deepClone(this.targetContent);
   // 记录次数
   this.times++;
   if(this.times == content.length){
   
     clearInterval(this.interval)
   }
   this.targetMsg.msgContent = content.substring(0,this.times);
   this.$set(this.msgList, this.msgList.length-1, this.targetMsg);
   this.$nextTick(function () {
   
     this.mescroll.scrollTo(99999, 0)
   })
 },

例:AI返回的数据为【我真的好喜欢你!】
每次substring截取一个字符,然后进行填充渲染结果为

我真
我真的
我真的好
我真的好喜欢你
...

这样就可以实现简单的打字机效果,网上还有通过CSS形式或更加简便方法实现,都可参考

4.运行

后端
  • 修改环境变量

  • 直接在IDEA运行启动

前端
  • 在项目目录中执行 npm i ,下载依赖

  • 修改环境变量,在/common/config/env.js下

  • 然后再HBuilder X工具中点击运行即可

5.成果展示

总结

本文主要介绍了如何使用 Spring Cloud Alibaba AI 来构建一个基于 Spring Boot 和 uni-app 的聊天机器人应用

关键点:

  • 了解Spring Cloud Alibaba AI

  • 前置条件: 包括使用 JDK 17+、Spring Boot 3.0+ 以及获取通义 API-KEY。

  • 实操步骤: 分别从前端和后端的角度进行了详细的说明,包括开发工具的选择、主要组件介绍、功能分析及开发过程中的关键代码示例。

最终,本狗展示了如何成功地实现了一个具备基本聊天功能的 AI 应用。

通过这个项目,小伙伴可以了解到如何利用现有的技术和框架快速搭建一个智能聊天应用,并且可以进一步探索更多高级功能和技术细节。


🍯猜你喜欢

文章推荐

【Java】@Transactional事务套着ReentrantLock锁,锁竟然失效超卖了

【规范】Git分支管理,看看我司是咋整的

【工具】珍藏免费宝藏工具,不好用你来捶我

【插件】IDEA这款插件,爱到无法自拔

【规范】看看人家Git提交描述,那叫一个规矩

【工具】用nvm管理nodejs版本切换,真香!

【项目实战】SpringBoot+uniapp+uview2打造H5+小程序+APP入门学习的聊天小项目

【项目实战】SpringBoot+uniapp+uview2打造一个企业黑红名单吐槽小程序

【模块分层】还不会SpringBoot项目模块分层?来这手把手教你!

目录
相关文章
|
22天前
|
人工智能 自然语言处理 Java
Spring AI,搭建个人AI助手
本期主要是实操性内容,聊聊AI大模型,并使用Spring AI搭建属于自己的AI助手、知识库。本期所需的演示源码笔者托管在Gitee上(https://gitee.com/catoncloud/spring-ai-demo),读者朋友可自行查阅。
1069 42
Spring AI,搭建个人AI助手
|
28天前
|
存储 人工智能 自然语言处理
OmniThink:浙大联合阿里通义开源 AI 写作框架,基于深度思考扩展知识边界,实时展示思考过程
OmniThink 是浙江大学与阿里通义实验室联合开发的机器写作框架,通过模拟人类迭代扩展和反思过程,生成高质量长篇文章,显著提升知识密度和内容深度。
166 12
OmniThink:浙大联合阿里通义开源 AI 写作框架,基于深度思考扩展知识边界,实时展示思考过程
|
1月前
|
人工智能 缓存 Ubuntu
AI+树莓派=阿里P8技术专家。模拟面试、学技术真的太香了 | 手把手教学
本课程由阿里P8技术专家分享,介绍如何使用树莓派和阿里云服务构建AI面试助手。通过模拟面试场景,讲解了Java中`==`与`equals`的区别,并演示了从硬件搭建、语音识别、AI Agent配置到代码实现的完整流程。项目利用树莓派作为核心,结合阿里云的实时语音识别、AI Agent和文字转语音服务,实现了一个能够回答面试问题的智能玩偶。课程展示了AI应用的简易构建过程,适合初学者学习和实践。
105 22
|
1月前
|
人工智能 安全 Dubbo
Spring AI 智能体通过 MCP 集成本地文件数据
MCP 作为一款开放协议,直接规范了应用程序如何向 LLM 提供上下文。MCP 就像是面向 AI 应用程序的 USB-C 端口,正如 USB-C 提供了一种将设备连接到各种外围设备和配件的标准化方式一样,MCP 提供了一个将 AI 模型连接到不同数据源和工具的标准化方法。
|
1月前
|
人工智能 安全 Java
AI 时代:从 Spring Cloud Alibaba 到 Spring AI Alibaba
本次分享由阿里云智能集团云原生微服务技术负责人李艳林主讲,主题为“AI时代:从Spring Cloud Alibaba到Spring AI Alibaba”。内容涵盖应用架构演进、AI agent框架发展趋势及Spring AI Alibaba的重磅发布。分享介绍了AI原生架构与传统架构的融合,强调了API优先、事件驱动和AI运维的重要性。同时,详细解析了Spring AI Alibaba的三层抽象设计,包括模型支持、工作流智能体编排及生产可用性构建能力,确保安全合规、高效部署与可观测性。最后,结合实际案例展示了如何利用私域数据优化AI应用,提升业务价值。
143 4
|
1月前
|
人工智能 自然语言处理 搜索推荐
云端问道12期实操教学-构建基于Elasticsearch的企业级AI搜索应用
本文介绍了构建基于Elasticsearch的企业级AI搜索应用,涵盖了从传统关键词匹配到对话式问答的搜索形态演变。阿里云的AI搜索产品依托自研和开源(如Elasticsearch)引擎,提供高性能检索服务,支持千亿级数据毫秒响应。文章重点描述了AI搜索的三个核心关键点:精准结果、语义理解、高性能引擎,并展示了架构升级和典型应用场景,包括智能问答、电商导购、多模态图书及商品搜索等。通过实验部分,详细演示了如何使用阿里云ES搭建AI语义搜索Demo,涵盖模型创建、Pipeline配置、数据写入与检索测试等步骤,同时介绍了相关的计费模式。
|
1月前
|
人工智能 Java API
阿里云工程师跟通义灵码结伴编程, 用Spring AI Alibaba来开发 AI 答疑助手
本次分享的主题是阿里云工程师跟通义灵码结伴编程, 用Spring AI Alibaba来开发 AI 答疑助手,由阿里云两位工程师分享。
阿里云工程师跟通义灵码结伴编程, 用Spring AI Alibaba来开发 AI 答疑助手
|
1月前
|
人工智能 API 开发者
阿里CEO吴泳铭-2024互联网大会发言:AI的最大价值是推动生产力变革
11月21日,2024年世界互联网大会“互联网企业家论坛”在乌镇召开。阿里巴巴CEO吴泳铭表示,AI的最大价值在于推动各行各业的生产力变革,而非仅限于开发超级APP。他强调,发展AI需建设繁荣的技术、产品和市场生态。目前,30多万家企业已接入阿里“通义”大模型,应用于代码开发、药物研发等场景。阿里巴巴坚持开源路线,全球开发者基于“通义千问”开发的衍生模型已突破7.8万个。吴泳铭认为,AI的发展需要行业共同努力,建设繁荣生态以实现高质量持续发展。
|
17天前
|
人工智能 自然语言处理 搜索推荐
【上篇】-分两篇步骤介绍-如何用topview生成和自定义数字人-关于AI的使用和应用-如何生成数字人-优雅草卓伊凡-如何生成AI数字人
【上篇】-分两篇步骤介绍-如何用topview生成和自定义数字人-关于AI的使用和应用-如何生成数字人-优雅草卓伊凡-如何生成AI数字人
98 24
【上篇】-分两篇步骤介绍-如何用topview生成和自定义数字人-关于AI的使用和应用-如何生成数字人-优雅草卓伊凡-如何生成AI数字人
|
12天前
|
机器学习/深度学习 存储 人工智能
MNN-LLM App:在手机上离线运行大模型,阿里巴巴开源基于 MNN-LLM 框架开发的手机 AI 助手应用
MNN-LLM App 是阿里巴巴基于 MNN-LLM 框架开发的 Android 应用,支持多模态交互、多种主流模型选择、离线运行及性能优化。
939 14
MNN-LLM App:在手机上离线运行大模型,阿里巴巴开源基于 MNN-LLM 框架开发的手机 AI 助手应用

热门文章

最新文章