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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

isea533

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值