码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 阿里也出手了!Spring CloudAlibaba AI问世了


    合集 - 玩转chatGPT(6)
    1.花了1块钱体验一把最近很火的ChatGPT2023-05-152.ChatGPT新玩法来了,微信聊天机器人2023-05-193.Java程序接入ChatGPT2023-05-084.再给你安利一款免费代码生成器2023-08-295.SpringAI 她来了,真的来了04-15
    6.阿里也出手了!Spring CloudAlibaba AI问世了06-17
    收起

    写在前面

    在之前的文章中我们有介绍过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 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+

    新建maven项目

    ② 添加依赖

    <dependency>
    <groupId>com.alibaba.cloudgroupId>
    <artifactId>spring-cloud-alibaba-dependenciesartifactId>
    <version>2023.0.1.0version>
    <type>pomtype>
    <scope>importscope>
    dependency>
    <dependency>
    <groupId>com.alibaba.cloudgroupId>
    <artifactId>spring-cloud-starter-alibaba-aiartifactId>
    <version>2023.0.1.0version>
    dependency>

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

    spring-ai: 0.8.1 dependency not found

    <repositories>
    <repository>
    <id>spring-milestonesid>
    <name>Spring Milestonesname>
    <url>https://repo.spring.io/milestoneurl>
    <snapshots>
    <enabled>falseenabled>
    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 (●'◡'●)

    本文来自博客园,作者:xiezhr,转载请注明原文链接:https://www.cnblogs.com/xiezhr/p/18251683

  • 相关阅读:
    基于JAVA医疗器械销售电子商城计算机毕业设计源码+系统+mysql数据库+lw文档+部署
    【html5期末大作业】基于HTML+CSS+JavaScript管理系统页面模板
    LinkedIn最好工具-领英精灵有哪些批量加好友方法?
    springboot爱护大自然的设计与实现毕业设计源码231643
    java技术专家面试指南80问【java学习+面试宝典】(三)
    面试用-常用注解
    nginx反向代理配置
    【RT-Thread】nxp rt10xx 设备驱动框架之--rtc搭建和使用
    Makefile 介绍
    三种方式使用纯 CSS 实现星级评分
  • 原文地址:https://www.cnblogs.com/xiezhr/p/18251683
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号