0


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设置为环境变量:
exportAI_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功能。
@RestControllerpublicclassChatController{privatefinalChatClient chatClient;@AutowiredpublicChatController(ChatClient.Builder builder){this.chatClient = builder.build();}@GetMapping("/chat")publicStringchat(@RequestParamString input){returnthis.chatClient.prompt().user(input).call().content();}// 使用Prompt模板的例子@Value("classpath:/prompts/joke-prompt.st")privateResource jokeResource;@GetMapping("/prompt")publicAssistantMessagecompletion(@RequestParam(value ="adjective", defaultValue ="funny")String adjective,@RequestParam(value ="topic", defaultValue ="cows")String topic){PromptTemplate promptTemplate =newPromptTemplate(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模板机制来丰富对话内容,使得最终产品更加灵活多变。


本文转载自: https://blog.csdn.net/xiaojunjunliu/article/details/142529890
版权归原作者 ApacheDubbo 所有, 如有侵权,请联系我们删除。

“SpringBoot 集成 spring AI Alibaba 快速上手”的评论:

还没有评论