快速入门Spring Cloud Alibaba AI,搭建大模型,快速上手大模型(付源码)

简介

Spring AI 是 Spring 官方社区项目,旨在简化 Java AI 应用程序开发,让 Java 开发者像使用 Spring 开发普通应用一样开发 AI 应用。

Spring Cloud Alibaba AI 以 Spring AI 为基础,并在此基础上提供阿里云通义系列大模型全面适配,让用户在 5 分钟内开发基于通义大模型的 Java AI 应用。

快速搭建

jdk以17为基准

整体的项目结构如下,所有的资源来源于阿里云官网,教程来自https://sca.aliyun.com/docs/2023/user-guide/ai/quick-start/

代码来源于https://github.com/alibaba/spring-cloud-alibaba/tree/2023.x/spring-cloud-alibaba-examples/ai-example/spring-cloud-ai-example
在这里插入图片描述

引入依赖

文章以Maven项目为测试用例,首先在pom.xml中引入依赖。

<dependencyManagement>
    <dependencies>
         <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>
     </dependencies>
 </dependencyManagement>

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

申请api-key

api-key的申请需要前往阿里云官网,点击跳转

然后application.yml配置文件中加入api-key

spring:
  cloud:
    ai:
      tongyi:
        api-key: sk-69******** #这里的api-key需要去阿里云官网申请

申请好之后替换application.yml的api-key

代码部分

代码部分分为controller层、service层、serviceImpl层和Model层

controller层

controller层还有一个类,用于对外提供接口

@RestController
@RequestMapping("/ai")
@CrossOrigin
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);
    }
}

service层

service层用于对controller提供服务

public interface TongYiService {

    /**
     * Hello World example.
     *
     * @param message conversation content question.
     * @return AI answer.
     */
    String completion(String message);
}

serviceImpl层

serviceImpl层是对service的实现,包括AbstractTongYiServiceImplTongYiSimpleServiceImpl

AbstractTongYiServiceImpl

public abstract class AbstractTongYiServiceImpl implements TongYiService {

    private static final String INFO_PREFIX = "please implement ";
    private static final String INFO_SUFFIX = "() method.";

    @Override
    public String completion(String message) {

        throw new RuntimeException(INFO_PREFIX + Thread.currentThread().getStackTrace()[2].getMethodName());
    }
}

TongYiSimpleServiceImpl

@Service
@Slf4j
public class TongYiSimpleServiceImpl extends AbstractTongYiServiceImpl {

    private final ChatClient chatClient;

    private final StreamingChatClient streamingChatClient;

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

model层

ActorsFilms

public class ActorsFilms {
    private String actor;
    private List<String> movies;
    public ActorsFilms() {}
    public String getActor() {return actor;}
    public void setActor(String actor) {this.actor = actor;}
    public List<String> getMovies() {return movies;}
    public void setMovies(List<String> movies) {this.movies = movies;}
    @Override
    public String toString() {
        return "ActorsFilms{" + "actor='" + actor + '\'' + ", movies=" + movies + '}';
    }
}

Completion

public class Completion {
    private final String completion;
    public Completion(String completion) {this.completion = completion;}
    public String getCompletion() {return completion;}
}

运行测试

api访问方式

http://localhost:8080/ai/example?message=西瓜

可以放在浏览器或者api接口测试工具
在这里插入图片描述

页面访问

http://localhost:8080/index.html

配置好之后即可运行,其中阿里云github官网里面有前端页面资源,即resource里面的static静态资源,想要的可以直接去github代码地址里拷贝
在这里插入图片描述
仅拷贝static资源的步骤:

  1. 在当前页面点击键盘上的逗号,这样就会跳转到github内嵌的vscode
  2. 然后在想要的资源上右击下载即可下载到本地,然后将其放在项目的resource资源文件下static
    在这里插入图片描述
    用此方法可以通过页面进行访问,即访问刚才从github下载的static静态资源的页面,将链接放在浏览器就到了下面的页面
    在这里插入图片描述

总结

最实质的就是在本地提供了后端的自定义api接口,开发人员可以利用这个进行个性化开发,即真实的体验ai大模型接入自己的应用中。

想要了解更多,最直观的是直接查看github中的源码或者直接访问阿里云官网,其中还提供了图片模型、Llama3大语言模型等,有些的开源的,可以免费玩,上手也简单。

源码地址

源码地址:https://github.com/luooin/SpringCloudAi

计算机类毕设项目合集点击跳转


在这里插入图片描述

  • 31
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

老哥不老

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

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

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

打赏作者

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

抵扣说明:

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

余额充值