当前位置:首页 » 《休闲阅读》 » 正文

五分钟上手Spring AI Alibaba,轻松打造智能聊天应用

29 人参与  2024年10月21日 16:01  分类 : 《休闲阅读》  评论

点击全文阅读


文章目录

快速上手快速体验示例示例开发指南总结

快速上手


Spring AI Alibaba 已经完全适配了阿里云通用模型,接下来,我们将学习如何使用 spring ai alibaba 开发一个基于通用模型服务的智能聊天应用。

快速体验示例

下载项目 运行以下命令下载源码,进入 helloworld 示例目录:

终端窗口

git clone --depth=1 https://github.com/alibaba/spring-ai-alibaba.gitcd spring-ai-alibaba/spring-ai-alibaba-examples/helloworld-example

运行项目 首先,需要获取一个合法的 API-KEY 并设置 AI_DASHSCOPE_API_KEY 环境变量,可跳转 阿里云百炼平台 了解如何获取 API-KEY。

image-20240923092250270

设置永久性环境变量:

image-20240923092546504

验证是否成功:

echo %DASHSCOPE_API_KEY%

image-20240923092618565

终端窗口

$env:AI_DASHSCOPE_API_KEY = "DASHSCOPE_API_KEY"

启动示例应用:

image-20240923102154812

访问 http://localhost:8080/ai/chat?input=你好,向通用模型提问并得到回答。

image-20240923110329694

示例开发指南

以上示例本质上就是一个普通的 Spring Boot 应用,我们来通过源码解析看一下具体的开发流程。

添加依赖

首先,需要在项目中添加 spring-ai-alibaba-starter 依赖,它将通过 Spring Boot 自动装配机制初始化与阿里云通用大模型通信的 ChatClientChatModel 相关实例。

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

注入 ChatClient

接下来,在普通 Controller Bean 中注入 ChatClient 实例,这样你的 Bean 就具备与 AI 大模型智能对话的能力了。

@RestControllerpublic class ChatController {    private final ChatClient chatClient;    public ChatController(ChatClient.Builder builder) {        this.chatClient = builder.build();    }    @GetMapping("/chat")    public String chat(String input) {        return this.chatClient.prompt()            .user(input)            .call()            .content();    }}

以上示例中,ChatClient 调用大模型使用的是默认参数,Spring AI Alibaba 还支持通过 DashScopeChatOptions 调整与模型对话时的参数,DashScopeChatOptions 支持两种不同维度的配置方式:

全局默认值,即 ChatClient 实例初始化参数

可以在 application.yaml 文件中指定 spring.ai.dashscope.chat.options.* 或调用构造函数 ChatClient.Builder.defaultOptions(options)DashScopeChatModel(api, options) 完成配置初始化。

每次 Prompt 调用前动态指定

ChatResponse response = chatModel.call(  new Prompt(    "Generate the names of 5 famous pirates.",    DashScopeChatOptions.builder()      .withModel("qwen-plus")      .withTemperature(0.4)    .build()  ));

关于 DashScopeChatOptions 配置项的详细说明,请查看参考手册。

总结

spring-ai-alibaba 为 Java 开发者提供了一套开箱即用的开发 AI 应用的工具,帮助开发者快速构建智能应用。


点击全文阅读


本文链接:http://zhangshiyu.com/post/175031.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1