拥抱AI大模型开发——SpringAI快速入门
SpringAI 是 Spring 生态体系下官方推出的 AI 能力集成框架,核心定位是为 Java 开发者提供低门槛、高兼容的企业级 AI 应用开发方案。它延续了 Spring “约定优于配置” 的设计哲学,将复杂的 AI 模型调用、服务集成、流程编排逻辑封装为标准化组件,让开发者无需深入理解 AI 底层技术,即可快速在 Spring Boot、Spring Cloud 等现有项目中集成大语
Spring AI
介绍
SpringAI 是 Spring 生态体系下官方推出的 AI 能力集成框架,核心定位是为 Java 开发者提供低门槛、高兼容的企业级 AI 应用开发方案。它延续了 Spring “约定优于配置” 的设计哲学,将复杂的 AI 模型调用、服务集成、流程编排逻辑封装为标准化组件,让开发者无需深入理解 AI 底层技术,即可快速在 Spring Boot、Spring Cloud 等现有项目中集成大语言模型(LLM)、图像生成、语音识别等 AI 能力,大幅降低企业级 AI 应用的开发成本与技术门槛。
其核心特性可概括为三点:
- 多模型兼容:内置对 OpenAI、Google Gemini、百度文心一言等主流厂商模型的适配,支持本地化模型对接,统一接口可灵活切换模型;
- 生态深度融合:与 Spring 生态(如依赖注入、Spring Security、监控组件)无缝衔接,现有 Spring 项目可零侵入集成,开发者无需学习新框架思想;
- 企业级保障:提供 API 密钥加密存储、权限控制、调用监控等生产级特性,同时支持流程编排与异常重试,满足企业对安全性、稳定性的需求。
目前,SpringAI 已广泛应用于智能客服、文档智能处理、代码生成辅助、个性化营销等场景,成为 Java 技术栈企业落地 AI 能力的核心工具。
快速开始
tips:SpringAI至少需要SpringBoot 3.2,而SpringBoot3.2至少需要Java17
至少需要SpringBoot 3.2!!! 至少需要SpringBoot 3.2!!!至少需要SpringBoot 3.2!!!重要的事情说三遍!
引入依赖
maven项目
在 pom.xml
中编写:
<dependencies>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-openai-spring-boot-starter</artifactId>
<version>1.0.0-M5</version>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-bom</artifactId>
<version>1.0.0-M5</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
编写配置
application.yml
:
# 应用服务 WEB 访问端口
server:
port: 8080
spring:
ai:
openai:
api-key: sk-xxxxxxxxxxxxxxxxxxxxxxxx # api key
base-url: https://api.siliconflow.cn # api地址
chat:
options:
model: deepseek-ai/DeepSeek-R1-Distill-Qwen-14B # 模型名称
temperature: 0.7 # temperature参数用于控制生成文本的多样性
- temperature参数用于控制生成文本的多样性。具体来说:
值越高,生成的文本越多样化,但也可能包含更多的随机性和不可预测的内容。值越低,生成的文本越接近于确定性的结果,即生成的文本会更加一致和可预测。
DemoController
@Slf4j
@RestController
@RequestMapping("/ai")
public class DemoController {
@Resource
private OpenAiChatModel chatModel;
@GetMapping("/generate")
public String generate(@RequestParam(value = "message", defaultValue = "hello") String message) {
String response = chatModel.call(message);
log.info("response: {}", response);
return response;
}
}
效果演示
欢迎关注我的公众号【zxb的博客】!
更多推荐
所有评论(0)