Spring AI Alibaba集成百炼大模型
摘要:SpringAI与阿里巴巴百炼大模型的集成方案,通过SpringAIAlibaba子项目实现通义千问大模型接入。开发者需完成阿里云账号注册、API-KEY配置和环境变量设置,在Maven项目中添加starter依赖并配置应用参数。示例代码展示了如何创建Controller调用百炼API,实现智能对话功能。该方案为Spring应用提供便捷的大模型能力接入,适用于各类AI场景开发。
引言
Spring AI集成Alibaba百炼大模型
引言背景
Alibaba百炼大模型是阿里巴巴推出的企业级大语言模型平台,提供文本生成、知识问答、代码补全等AI能力。Spring AI作为Spring生态的AI集成框架,通过标准化接口简化了大模型接入流程。二者的集成使开发者能在Spring应用中快速调用百炼的先进AI能力,适用于智能客服、内容生成等场景。
前序:Spring AI 和 Spring AI Alibaba的关系
Spring AI Alibaba 是 Spring AI 项目的官方子项目,专门用于对接和集成阿里巴巴的AI大模型服务(主要是通义千问)。
-
Spring AI
由 Spring 官方(VMware)主导的一个顶层项目。它的目标是提供一个统一的、和框架无关的 API,让开发者能够以一致的方式与各种人工智能模型和服务进行交互,而不需要关心底层是 OpenAI、Azure、Anthropic 还是其他任何供应商。它的核心理念是“一次编写,随处运行”(在AI模型层面)。
-
Spring AI Alibaba
是 Spring AI 项目旗下的一个官方子项目或模块。它的具体职责是实现 Spring AI 定义的核心接口(如
ChatClient
、EmbeddingClient
),并将这些接口的调用适配(Adapt)到阿里巴巴达摩院的通义千问(Qwen)大模型 API 上。
环境准备
1.注册账号并创建API-KEY
-
第1步: 注册阿里云百炼大模型用户
https://www.aliyun.com/product/tongyi
注意:保存好Key
在Windows系统桌面中按Win+Q
键,在搜索框中搜索编辑系统环境变量,单击打开系统属性界面。在系统属性窗口,单击环境变量,然后在系统变量区域下单击新建,变量名填入DASHSCOPE_API_KEY
,变量值填入您的DashScope API Key。
依次单击三个窗口的确定,关闭系统属性配置页面,完成环境变量配置。
打开CMD(命令提示符)窗口或Windows PowerShell窗口,执行如下命令检查环境变量是否生效。
保存好应用ID,注意区分KEY与ID。
2.创建Java工程
以下代码片段展示了如何在Maven项目的pom.xml
文件中添加Alibaba Cloud AI DashScope的Spring Boot Starter依赖:
<dependency>
<groupId>com.alibaba.cloud.ai</groupId>
<artifactId>spring-ai-alibaba-starter-dashscope</artifactId>
<version>1.0.0.2</version>
</dependency>
配置application
# 大模型应用ID,如未配置环境变量,请在这里替换为实际的值
spring.ai.dashscope.agent.options.app-id=自己的智能体应用ID
# 百炼API Key,如未配置环境变量,请在这里替换为实际的值
spring.ai.dashscope.api-key=${DASHSCOPE_API_KEY}
创建controller.Controller
import com.alibaba.cloud.ai.dashscope.agent.DashScopeAgent;
import com.alibaba.cloud.ai.dashscope.agent.DashScopeAgentOptions;
import com.alibaba.cloud.ai.dashscope.api.DashScopeAgentApi;
import lombok.extern.slf4j.Slf4j;
import org.springframework.ai.chat.model.ChatResponse;
import org.springframework.ai.chat.prompt.Prompt;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@Slf4j
@RestController
@RequestMapping("/ai")
public class BaiLianAgentController {
//创建DashScopeAgent对象,用于调用百炼大模型API
private DashScopeAgent agent;
@Value("${spring.ai.dashscope.agent.options.app-id}")
private String appId;
public BaiLianAgentController(DashScopeAgentApi dashScopeAgentApi) {
this.agent = new DashScopeAgent(dashScopeAgentApi);
}
@GetMapping("/bailian/agent/call")
public String call(String message){
log.debug("百炼大模型API调用:message={}",message);
log.debug("百炼大模型API调用:appId={}",appId);
ChatResponse response = agent.call(new Prompt(message, DashScopeAgentOptions.builder().withAppId(appId).build()));
log.debug("百炼大模型API调用结果:response={}",response);
String content = response.getResult().getOutput().getText();
return content;
}
}
然后通过AI生成一个聊天对话页面,即可实现。
更多推荐
所有评论(0)