Spring AI 快速使用Alibaba
发布时间:2025-06-24 17:29:42 作者:北方职教升学中心 阅读量:139
AI 时代,Java 程序员还需要跟上时代的步伐c;必须掌握这两个框架。
- 一个是 Spring AI。
- 一个是 Spring Alibaba AI。
Spring AI AI工程领域的应用框架,它的目标是将 Spring生态系统的设计原则应用于人工智能领域。
但是, Spring AI 不支持获得大多数接入中国的常见模型c;比如文心一言,通义千问等等。
所以,对于国内开发者来说,,能正常使用(不需要魔法Spring AI 只是需要,即 Spring AI Alibaba已经成为我们的首选。
一、Spring AI Alibaba简介。
Spring AI Alibaba官网:https://java2ai.com/docs/dev/overview/。
1、简介。
Spring AI Alibaba 是一款 Java 语言实现的 AI 应用开发框架旨在简化 Java AI 应用程序开发让 Java 使用开发人像 Spring 开发普通应用一样开发 AI 应用。
Spring AI Alibaba 基于 Spring AI 开源项目建设默认提供阿里云基础模型服务、开源和商业生态组件的集成和最佳实践。
注意:
因为 Spring AI Alibaba 基于 Spring Boot 3.x 开发,因此对 JDK 要求 17 以上版本。
总的来说,
- Spring Alibaba AI 以 Spring AI 基础,在此基础上,全面适应阿里云通义系列大模型,同时,还支持其他大型模型的访问。
- 使用 Spring AI Alibaba 普通的开发应用和使用 Spring Boot 没有区别只需要增加依赖性。
2、特性。
以下是 Spring AI Alibaba 支持的核心能力,在未来,更先进的功能将基于这些核心能力。请参考官网文档 Spring AI Alibaba 核心概念和 AI 应用开发的最佳实践。
- 开发复杂 AI 高阶抽象的应用 Fluent API – ChatClient。
- 提供多种大模型服务对接能力包括主流开源和阿里云通义大模型服务(百炼)等。
- 支持的模型类型包括聊天、文生图、音频转录、文生语音等。
- 支持同步和流式 API,保持应用层 API 支持底层模型服务灵活切换#xff0c;支持特定模型的定制能力(参数传输)
- 支持 Structured Output,即将 AI 模型输出映射到 POJOs。
- 支持矢量数据库的存储和检索。
- 支持函数调用 Function Calling。
- 支持构建 AI Agent 所需工具调用和对话内存记忆能力。
- 支持 RAG 开发模式包括离线文档处理 DocumentReader、Splitter、Embedding、VectorStore 等,支持 Retrieve 检索。
3、申请API Key。
登录阿里云官方网站实名认证后,去阿里云百炼平台,单击创建API-KEY。
阿里云百炼-获得API Key:https://help.aliyun.com/zh/model-studio/developer-reference/get-api-key。
已创建的API Key操作列点击查看获取API KEY。
新用户可以在每个模型中享受100万免费tokens。
新人免费额度的有效期一般为30~180天,自开通百炼或模型申请通过之日起计算。超过有效期或免费消耗金额后,继续使用模型推理服务将产生计费。
二、快速开始。
1、配置环境变量。
获得 API Key之后建议将其配置到环境变量中,在调用模型或应用程序时使用。这可以避免在代码中显式配置 API Key,从而降低API Key泄漏的风险。
阿里云百炼-API Key配置到环境变量:https://help.aliyun.com/zh/model-studio/developer-reference/configure-api-key-through-environment-variables。
Windows系统,将API 将Key配置到环境变量。
2、创建项目。
Spring AI Alibaba 与阿里云通义模型完全适应,下面使用 spring ai alibaba 开发基于通义模型服务的智能聊天应用程序。
因为 Spring AI Alibaba 基于 Spring Boot 3.x 开发,因此对 JDK 要求 17 以上版本。
2.1 引入依赖。
创建 Spring Boot 3.x项目,引入 Spring AI Alibaba依赖:
添加到项目中 spring-ai-alibaba-starter 依赖,它将通过 Spring Boot 自动装配机制和阿里云通义大模型通信的初始化 ChatClient、ChatModel 相关实例。
<dependency。><groupId。>org.springframework.boot。</。groupId。><artifactId。>spring-boot-starter-web。</。artifactId。><version。>3.4.0。</。version。></。dependency。><dependency。><groupId。>com.alibaba.cloud.ai。</。groupId。><artifactId。>spring-ai-alibaba-starter。</。artifactId。><version。>1.0.0-M6.1。</。version。></。dependency。>
注意:
由于 spring-ai 相关依赖包尚未发布到中央仓库,如果出现 spring-ai-core 相关依赖分析问题请在项目的 pom.xml 在依赖中加入以下仓库配置。
<repositories。><repository。><id。>spring-milestones。</。id。><name。>Spring Milestones。</。name。><url。>https://repo.spring.io/milestone。</。url。><snapshots。><enabled。>false。</。enabled。></。snapshots。></。repository。><repository。><id。>aliyunmaven。</。id。><name。>aliyun。</。name。><url。>https://maven.aliyun.com/repository/public。</。url。></。repository。></。repositories。>
2.2 配置 application.yml。
在 Windows系统,打开CMD输入以下命令查看配置的环境变量:。
echo %ALI_AI_DASHSCOPE_API_KEY%。
spring。:。ai。:。dashscope。:。api-key。:。$。{ 。prompt。 =DEFAULT_PROMPT。;}。String。content。 =dashScopeChatClient。.。prompt。(。prompt。)。.。call。(。)。.。content。(。)。;log。.。info。(。"simpleChat --> \n prompt ={ }, \n content = { }",prompt。,content。)。;return。content。;}。}。
启动项目访问接口与 AI 智能大模型对话。
– 求知若饥#xff0c;虚心若愚。