SpringBoot 集成 spring AI Alibaba 快速上手

Spring AI 介绍

Spring AI 是一个专为AI工程设计的应用框架,它将Spring生态系统的设计原则如可移植性和模块化引入了AI开发领域。该框架的核心优势在于其标准化了不同AI提供者(例如OpenAI、Azure、阿里云等)的接口实现,使得开发者能够通过简单的配置更改即可轻松切换不同的AI服务提供商,而无需重写代码。

这极大地简化了程序迁移的工作量,并且由于其直接兼容Flux流输出,因此也能很好地与基于流的各种机器人模型集成。对于使用SpringBoot构建应用的开发者来说,Spring AI 提供了一种无缝集成AI能力的方式,让项目可以更灵活地利用最新的AI技术,同时保持代码的简洁和高效。

Spring AI alibaba介绍

Spring AI Alibaba 是基于 Spring AI 的应用框架,简单来说就是Spring ai的一个针对阿里云的服务的通用实现。

他整合了阿里云的一系列最佳实践,包括但不限于怎么做异步,怎么做Prompt的线上化管理等一系列的方案,可以更好的实现服务的在线化

SpringBoot介绍

Spring Boot 是一个基于 Java 的框架,用于简化新 Spring 应用的初始搭建以及开发过程。它通过约定大于配置的理念,使得开发者可以快速创建独立运行、生产级别的基于 Spring 的应用,而无需过多的 XML 配置。借助自动配置和起步依赖,Spring Boot 让应用开发变得简单快捷。

基于Spring Boot集成Spring AI Alibaba完成一个简单对话模型

基于Spring Boot集成Spring AI Alibaba来构建一个简单的对话模型并使用到Prompt能力和ChatClient能力的具体步骤:

具体步骤
  1. 环境准备
    • 确保你的JDK版本为17或更高。
    • 使用Spring Boot 3.3.x及以上版本。
  2. 获取通义千问的API Key
    • 访问阿里云百炼页面并登录您的阿里云账号。
    • 开通“百炼大模型推理”服务,等待开通成功短信通知。
    • 成功后返回页面,通过右上角用户图标进入API-KEY管理界面,创建一个新的API-KEY并妥善保存。
  3. 设置环境变量
    将获得的API-KEY设置为环境变量:
export AI_DASHSCOPE_API_KEY=your_api_key_here
  1. 添加仓库与依赖pom.xml文件中加入Spring的里程碑和快照仓库,以便能够下载最新的Spring AI Alibaba相关包。
<repositories>
    <repository>
        <id>sonatype-snapshots</id>

        <url>https://oss.sonatype.org/content/repositories/snapshots</url>

        <snapshots>
            <enabled>true</enabled>

        </snapshots>

    </repository>

    <repository>
        <id>spring-milestones</id>

        <name>Spring Milestones</name>

        <url>https://repo.spring.io/milestone</url>

        <snapshots>
            <enabled>false</enabled>

        </snapshots>

    </repository>

    <repository>
        <id>spring-snapshots</id>

        <name>Spring Snapshots</name>

        <url>https://repo.spring.io/snapshot</url>

        <releases>
            <enabled>false</enabled>

        </releases>

    </repository>

</repositories>

接着,在<dependencies>标签内添加必要的依赖项:

<parent>
    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-starter-parent</artifactId>

    <version>3.3.4</version>

</parent>

<dependencies>
    <dependency>
        <groupId>com.alibaba.cloud.ai</groupId>

        <artifactId>spring-ai-alibaba-starter</artifactId>

        <version>1.0.0-M2</version>

    </dependency>

</dependencies>

  1. 配置API KEY在项目的application.properties或者application.yml文件里配置刚才获取的API KEY:
spring.ai.dashscope.api-key=${AI_DASHSCOPE_API_KEY}
  1. 创建Controller类创建一个新的Controller类,用于处理聊天请求。这里将演示如何使用ChatClientPrompt功能。
@RestController
public class ChatController {

    private final ChatClient chatClient;

    @Autowired
    public ChatController(ChatClient.Builder builder) {
        this.chatClient = builder.build();
    }

    @GetMapping("/chat")
    public String chat(@RequestParam String input) {
        return this.chatClient.prompt()
                .user(input)
                .call()
                .content();
    }

    // 使用Prompt模板的例子
    @Value("classpath:/prompts/joke-prompt.st")
    private Resource jokeResource;

    @GetMapping("/prompt")
    public AssistantMessage completion(@RequestParam(value = "adjective", defaultValue = "funny") String adjective,
                                       @RequestParam(value = "topic", defaultValue = "cows") String topic) {
        PromptTemplate promptTemplate = new PromptTemplate(jokeResource);
        Prompt prompt = promptTemplate.create(Map.of("adjective", adjective, "topic", topic));
        return chatClient.prompt(prompt).call().chatResponse().getResult().getOutput();
    }
}

上述代码示例中定义了两个接口:一个是直接发送消息给AI助手;另一个是利用预设的提示词模板生成特定类型的回复。

  1. 启动应用完成上述所有配置后,即可运行你的Spring Boot应用程序。访问/chat端点进行基本对话测试,或尝试/prompt端点体验更复杂的Prompt功能。

小结:

以上就是如何从零开始搭建一个基于Spring Boot的应用程序,集成了Spring AI Alibaba框架,并实现了基础的对话功能。

通过Springboot开发者可以快速构建出具备AI交互能力的服务。此外,还展示了如何利用Prompt模板机制来丰富对话内容,使得最终产品更加灵活多变。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值