5分钟上手 Spring AI:从零开始搭建你的第一个 AI 应用

上篇文章我们聊了 Spring AI 的.

上篇文章我们聊了 Spring AI 的核心概念,今天咱们不动嘴皮子,直接动手,搭建一个 Spring AI 的开发环境。

准备工作

在开始之前,你需要准备好:

  1. JDK 17 或更高版本(Spring AI 基于 Spring Boot 3,对 Java 版本有要求)。
  2. OpenAI API Key(或者是 Azure, Ollama 等其他支持的模型,为了演示方便,我们以 OpenAI 为例)。如果你没有 Key,可以使用 Ollama 在本地跑一个免费的模型。

第一步:创建项目

最简单的方法当然是去 Spring Initializr
现在的 Spring Initializr 已经贴心地加入了 AI 支持。

  1. Project: Maven 或 Gradle。
  2. Language: Java。
  3. Spring Boot: 选择 3.4.x 或更高。
  4. Dependencies: 搜索并添加 OpenAI (属于 AI Models 类别)。

点击 Generate,下载解压,用 IDEA 打开。

第二步:配置依赖 (Maven/Gradle)

如果你是手动创建项目,或者想理解发生了什么,我们需要关注 BOM (Bill of Materials)。Spring AI 更新很快,使用 BOM 可以保证所有组件版本一致。

Maven 配置

pom.xml 中加入 dependencyManagement

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.ai</groupId>
            <artifactId>spring-ai-bom</artifactId>
            <version>1.0.0</version> <!-- 请检查官网使用最新版本 -->
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

然后添加 OpenAI 的 Starter:

<dependencies>
    <dependency>
        <groupId>org.springframework.ai</groupId>
        <artifactId>spring-ai-starter-openai</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

Gradle 配置

dependencies {
  implementation platform("org.springframework.ai:spring-ai-bom:1.0.0")
  implementation 'org.springframework.ai:spring-ai-starter-openai'
  implementation 'org.springframework.boot:spring-boot-starter-web'
}

注意:Spring AI 的早期版本(Snapshot 或 Milestone)并不在 Maven 中央仓库。如果你用的是预览版,记得在构建文件中添加 Spring 的 Snapshot 仓库。不过现在的 1.0.0 正式版已经可以直接从 Maven Central 获取了。

第三步:配置文件

打开 src/main/resources/application.properties (或 .yml)。
Spring AI 的自动配置非常智能,你只需要填入 API Key。

spring:
  application:
    name: spring-ai-demo
  ai:
    openai:
      api-key: sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx # 换成你的 Key
      chat:
        options:
          model: gpt-3.5-turbo # 或者 gpt-4

小贴士:千万不要把 API Key 直接提交到 GitHub!建议使用环境变量:
spring.ai.openai.api-key=${OPENAI_API_KEY}

第四步:Hello AI World

现在我们写一个简单的 Controller 来测试一下。

@RestController
public class ChatController {

    private final ChatClient chatClient;

    // Spring AI 自动注入了 ChatClient.Builder
    public ChatController(ChatClient.Builder builder) {
        this.chatClient = builder.build();
    }

    @GetMapping("/ai/chat")
    public String chat(@RequestParam(value = "message", defaultValue = "讲个笑话") String message) {
        return chatClient.prompt()
                .user(message)
                .call()
                .content();
    }
}

启动项目,访问 http://localhost:8080/ai/chat?message=你好
如果一切顺利,你应该能看到 AI 的回复了!

总结

看,使用 Spring AI 并没有那么复杂。Spring Boot 的魔法帮我们屏蔽了底层的 HTTP 调用和 JSON 解析。

  • 引入 BOM。
  • 引入 Starter。
  • 配置 Key。
  • 注入 ChatClient

搞定!
下篇我们详细讲讲 ChatClient 的高级用法,比如流式输出(Streaming)和多模态。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注