当前位置: 首页 > web >正文

Spring AI 1.0 GA 正式发布

在这里插入图片描述
Spring AI 1.0 GA 版本已于 2025 年 5 月 20 日正式发布!这标志着 Spring 框架在人工智能领域又迈出了坚实的一步。本文将详细解析这一版本的亮点特性和使用方法,帮助大家快速上手这一强大的 AI 开发工具。

<dependencyManagement><dependencies><dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-bom</artifactId><version>1.0.0</version>0<type>pom</type><scope>import</scope></dependency></dependencies>
</dependencyManagement>

1. Spring AI 简介

Spring AI 是 Spring 生态系统的一部分,旨在简化企业级 AI 应用的开发。它提供了一套统一的抽象层,让开发者能够轻松集成各种 AI 模型和服务,包括但不限于 OpenAI、Anthropic Claude、Mistral AI、Ollama 等,同时保持 Spring 框架一贯的简洁性和易用性。

2. 核心特性解析

2.1 多模型支持

Spring AI 1.0 GA 版本支持多种主流大语言模型(LLMs):

  • OpenAI (GPT-3.5, GPT-4 系列)
  • Anthropic Claude
  • Mistral AI
  • Ollama
  • Azure OpenAI
  • Amazon Bedrock
  • Google Vertex AI (Gemini)
  • HuggingFace
  • 多种开源模型(如 Llama 2 等)

2.2 统一抽象层

Spring AI 提供统一的编程模型和 API,开发者可以在不同 AI 模型之间无缝切换,而无需修改大量代码。这种设计理念与 Spring 的其他模块保持一致,极大地提升了开发效率。

@Autowired
private ChatClient chatClient;public String generateResponse(String prompt) {Prompt aiPrompt = new Prompt(prompt);ChatResponse response = chatClient.call(aiPrompt);return response.getResult().getOutput().getContent();
}

2.3 文本嵌入和向量存储

Spring AI 提供了强大的文本嵌入功能,支持将文本转换为向量表示,并与多种向量数据库集成:

  • Redis
  • PostgreSQL pgvector
  • Chroma
  • Milvus
  • Weaviate
  • Neo4j 等

2.4 RAG(检索增强生成)支持

Spring AI 内置了对 RAG(Retrieval Augmented Generation)的支持,帮助开发者构建能够利用自定义知识库的 AI 应用:

@Autowired
private VectorStore vectorStore;public List<Document> similarDocuments(String query) {return vectorStore.similaritySearch(query);
}

2.5 提示工程支持

Spring AI 提供了强大的提示工程工具,包括提示模板、提示变量等:

PromptTemplate promptTemplate = new PromptTemplate("""你是一位专业的 Java 开发者。请解释以下概念:{concept}""");Map<String, Object> variables = new HashMap<>();
variables.put("concept", "Spring AOP");Prompt prompt = promptTemplate.create(variables);

3. 核心组件

Spring AI 的核心组件包括:

  • ChatClient: 与各种 LLM 进行交互的客户端
  • EmbeddingClient: 用于生成文本嵌入向量
  • VectorStore: 向量数据库的抽象接口
  • PromptTemplate: 提示模板,支持变量替换
  • OutputTransformer: 输出转换器,用于处理 AI 响应

4. 快速入门示例

下面是一个使用 Spring AI 构建简单聊天应用的示例:

@RestController
@RequestMapping("/ai")
public class ChatController {private final ChatClient chatClient;public ChatController(ChatClient chatClient) {this.chatClient = chatClient;}@PostMapping("/chat")public ResponseEntity<String> chat(@RequestBody String message) {Prompt prompt = new Prompt(message);ChatResponse response = chatClient.call(prompt);return ResponseEntity.ok(response.getResult().getOutput().getContent());}
}

配置文件 application.properties:

spring.ai.openai.api-key=${OPENAI_API_KEY}
spring.ai.openai.chat.options.model=gpt-4
spring.ai.openai.chat.options.temperature=0.7

5. 与 Spring Boot 的集成

Spring AI 可以无缝集成到 Spring Boot 应用中,只需添加相应的依赖:

<dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-openai-spring-boot-starter</artifactId><version>1.0.0</version>
</dependency>

自动配置会自动创建所需的 Bean,开箱即用。

6. 更新日志与改进

Spring AI 1.0 GA 版本相比之前的里程碑版本有以下主要改进:

  • 更完善的错误处理和异常机制
  • 性能优化和内存使用改进
  • 更丰富的模型适配器
  • 提升了向量存储的查询效率
  • 增强了流式响应的稳定性
  • 完善了 API 文档和使用示例

7. 总结

Spring AI 1.0 GA 的发布,标志着 Spring 生态系统在 AI 领域的重要里程碑。它为 Java 开发者提供了一种简单、统一的方式来构建 AI 驱动的应用,同时保持了 Spring 框架一贯的高质量和易用性。

如果你是一名 Spring 开发者,或者正在寻找一种可靠的方式来将 AI 功能集成到你的企业应用中,Spring AI 绝对值得一试。

最后,附上官方文档链接:Spring AI 官方文档,建议大家深入学习,探索更多可能性。

8. 意外惊喜

翻看官方发布日志到最后的时候,竟然发现了我的名字,竟然排在第一个,也不是按照字母排序的。
在这里插入图片描述


本文参考了 Spring 官方博客:Spring AI 1.0 GA Released

如有问题,欢迎留言讨论!

http://www.xdnf.cn/news/8019.html

相关文章:

  • 信号量机制:操作系统中的同步与互斥利器
  • openlayer:11点击地图上省份实现overlay提示省份名称并修改对应所点省份区域颜色
  • c++11的auto关键一篇文章打通:基本用法、常见使用场景、最佳食用指南
  • 小刚说C语言刷题—1153 - 查找“支撑数”
  • Docker面试题(1)
  • MinIO纠删码技术解析:数据冗余与高可用的存储密码
  • 命令行关闭特定端口 命令行关闭端口脚本
  • f-string 高效的字符串格式化
  • 【MySQL成神之路】MySQL查询用法总结
  • CASAIM与荣耀达成合作,三维数字化检测技术助力终端消费电子制造实现生产工艺智能优化
  • 医疗行业数据共享新实践:如何用QuickAPI打通诊疗全流程数据壁垒
  • 免费图片处理工具压缩不糊 + 批量加水印兼容多种格式转换
  • 订单导入(常见问题和sql)
  • 架构图 C4 规范简介
  • 力扣-两数之和
  • 鸿蒙开发:应用上架第三篇,配置签名信息打出上架包
  • 安卓基础(代码解析)
  • YOLO11解决方案之VisonEye对象映射
  • 利用 Java 爬虫根据关键词获取某手商品列表
  • 人工智能应用时代:个人成长与职业突围的底层逻辑
  • 黑马+点评常见问题
  • 配电网运行状态综合评估方法研究
  • API测试框架全解析
  • 咽拭子+病毒采样管助力多项呼吸道病原体核酸检测!
  • 2025第一届轩辕杯--Crypto--WriteUp
  • 【Netty】- 入门1
  • 可理解性输入:逛超市
  • git合并多次commit提交
  • RK3588+CODESYS+望获实时Linux - 软PLC运动控制解决方案
  • 回归分析(线性/非线性)