第一个 Spring AI 应用
约 535 字大约 2 分钟
布欧-Lewyon
2026-05-15
创建项目
使用 Spring Initializr
访问 start.spring.io,选择:
- Project:Maven
- Language:Java 21
- Spring Boot:3.3+
- Dependencies:Spring Web + Spring AI OpenAI/Ollama
手动添加依赖
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.3.0</version>
</parent>
<groupId>com.example</groupId>
<artifactId>spring-ai-demo</artifactId>
<version>1.0.0</version>
<properties>
<java.version>21</java.version>
<spring-ai.version>1.0.0-SNAPSHOT</spring-ai.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- Ollama(本地开发推荐) -->
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-ollama-spring-boot-starter</artifactId>
</dependency>
<!-- 或者 OpenAI(生产推荐) -->
<!--
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-openai-spring-boot-starter</artifactId>
</dependency>
-->
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-bom</artifactId>
<version>${spring-ai.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<repositories>
<repository>
<id>spring-milestones</id>
<url>https://repo.spring.io/milestone</url>
</repository>
</repositories>
</project>配置
# application.yml
spring:
ai:
ollama:
base-url: http://localhost:11434
chat:
options:
model: llama3.2:1bController
package com.example.demo;
import org.springframework.ai.chat.client.ChatClient;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/api/ai")
public class AIController {
private final ChatClient chatClient;
public AIController(ChatClient.Builder chatClientBuilder) {
this.chatClient = chatClientBuilder.build();
}
@GetMapping("/chat")
public String chat(@RequestParam(defaultValue = "Hello") String message) {
return chatClient.call(message);
}
}测试
# 启动应用
mvn spring-boot:run
# 调用 API
curl "http://localhost:8080/api/ai/chat?message=请用中文介绍 Spring AI"
# 响应示例
# Spring AI 是一个为 Spring 应用集成人工智能能力的框架...完整调用流程
常见问题
连接被拒绝
# 错误:Connection refused
# 原因:Ollama 服务未启动
ollama serve模型不存在
# 错误:model "xxx" not found
ollama pull llama3.2:1bAPI Key 无效(OpenAI)
# 检查 application.yml 中的 api-key 配置
# 确保 key 正确且账号有余额小结
- 创建 Spring AI 应用只需添加 Starter 依赖 + 配置 + 注入 ChatClient。
ChatClient.Builder注入 Bean,调用chatClient.call(message)开始对话。- 通过
@RequestParam接收用户输入,返回 AI 的响应文本。 - 切换模型提供商只需换 Starter 和配置,Controller 代码无需修改。
- 开发推荐 Ollama,生产推荐 OpenAI / Azure OpenAI。
上一节:环境准备 下一节:ChatClient 基础
