什么是 Spring AI?Spring AI 入门教程

Spring AI 是一个由 Spring 团队开发的 Java 框架,旨在将生成式 AI(如 OpenAI、Anthropic、Hugging Face 等)无缝集成到 Spring Boot 应用中。它提供了统一的接口、自动配置、提示词工程、向量数据库支持等功能,使 Java 开发者能够在熟悉的生态系统中构建智能应用。


🚀 Spring AI 核心特性

  • 统一接口:支持 OpenAI、Anthropic、Google、Hugging Face 等多种 AI 服务提供商。
  • 自动配置:与 Spring Boot 完美集成,提供开箱即用的配置和启动器。
  • 提示词工程:支持 PromptTemplate、Message 和 AiResponse 等类,方便构建复杂的提示词结构。
  • 多模态支持:涵盖文本生成、图像生成、语音识别、文本转语音等功能。
  • 向量数据库集成:支持与 Chroma、Milvus、PostgreSQL/PGVector、Redis 等向量数据库的集成,实现语义检索。
  • 函数调用支持:支持 LLM 的函数调用能力,实现更复杂的交互。


在这里插入图片描述


🛠️ 环境准备与项目初始化

1. 创建 Spring Boot 项目

使用 Spring Initializr 创建一个新的 Spring Boot 项目,选择以下依赖:

  • Spring Web
  • Spring Boot DevTools
  • Spring AI Starter

建议使用 JDK 17 及以上版本。
在这里插入图片描述

2. 添加 Maven 依赖

pom.xml 中添加以下依赖:

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

如果使用 OpenAI 服务,还需要添加:

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

3. 配置 API 密钥

application.yml 中配置 OpenAI 的 API 密钥:

spring:
  ai:
    openai:
      api-key: ${OPENAI_API_KEY}
      chat:
        options:
          model: gpt-3.5-turbo
          temperature: 0.7

${OPENAI_API_KEY} 替换为您的实际 API 密钥,或通过环境变量传递。


💬 实战示例:构建聊天服务

1. 创建服务类

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.ai.openai.chat.ChatClient;
import org.springframework.ai.openai.chat.ChatResponse;

@Service
public class ChatService {

    @Autowired
    private ChatClient chatClient;

    public String generateResponse(String prompt) {
        ChatResponse response = chatClient.call(prompt);
        return response.getResult().getOutput().getContent();
    }
}

2. 创建控制器类

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/api/chat")
public class ChatController {

    @Autowired
    private ChatService chatService;

    @GetMapping
    public String chat(@RequestParam String message) {
        return chatService.generateResponse(message);
    }
}

3. 启动应用

运行 Spring Boot 应用,访问 http://localhost:8080/api/chat?message=你好,即可与 AI 进行对话。


🧠 深入功能与实践

  • 提示词模板:使用 PromptTemplate 构建动态提示词,提高模型响应的准确性和一致性。
  • 多轮对话:利用 ChatClient 的上下文管理功能,实现多轮对话和记忆功能。
  • 流式响应:通过流式 API 实现实时响应,提升用户体验。
  • 函数调用:实现 LLM 的函数调用能力,处理复杂的业务逻辑。
  • 向量检索:结合向量数据库实现 RAG(增强式检索生成),提升问答系统的准确性。

📚 学习资源与社区支持


✅ 总结

Spring AI 是 Java 开发者构建生成式 AI 应用的利器。它继承了 Spring 的设计理念,提供了统一的接口和丰富的功能,帮助开发者快速集成 AI 能力。无论是构建聊天机器人、智能客服、问答系统,还是多模态应用,Spring AI 都是一个值得尝试的框架。


Logo

一起探索未来云端世界的核心,云原生技术专区带您领略创新、高效和可扩展的云计算解决方案,引领您在数字化时代的成功之路。

更多推荐