Spring Ai超简单教程系列 - 01快速入门
在网上找了一些Spring AI相关的教程,因为官方API更新较快的原因,大部分教程的内容都已过时。所以在参照官方参考文档学习的同时,沉淀每篇文章,为同样热爱学习的你,提供参考。
本系列教程参考Spring AI官方1.1.x版本文档:https://docs.spring.io/spring-ai/reference/1.1/index.html
快速入门
SpringBoot框架作为Java开发必备脚手架,已经深入日常学习、工作中,为了技术延续性以及历史工程迭代,选用Spring AI项目简化集成人工智能功能的应用程序开发。
Spring AI借鉴了LangChain和LlamaIndex等知名Python项目,但Spring AI并非这些项目的直接移植。Spring社区坚信,下一代生成式AI应用将不再仅限于Python开发者,而是会广泛应用于多种编程语言中。
依赖管理
新建maven工程,添加bom到项目中
<properties>
<java.version>21</java.version>
<spring-boot.version>3.5.16</spring-boot.version>
<spring-ai.version>1.1.8</spring-ai.version>
<spring-ai-alibaba.version>1.1.2.0</spring-ai-alibaba.version>
<spring-ai-alibaba-extension.version>1.1.2.1</spring-ai-alibaba-extension.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-bom</artifactId>
<version>${spring-ai.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.alibaba.cloud.ai</groupId>
<artifactId>spring-ai-alibaba-bom</artifactId>
<version>${spring-ai-alibaba.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.alibaba.cloud.ai</groupId>
<artifactId>spring-ai-alibaba-extensions-bom</artifactId>
<version>${spring-ai-alibaba-extension.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
添加组件依赖
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-openai</artifactId>
</dependency>
</dependencies>
这里为了后续实现模型路由能力以及自己封装AutoConfiguration引入的是spring-ai-openai手动配置OpenAiChatModel,如果需要自动装配可以引入spring-ai-starter-model-openai并配置模型调用参数。
简单的大模型调用示例
@RestController
public class ChatController {
ApiKey customApiKey = () -> "sk-xxxx";
final OpenAiApi openAiApi = OpenAiApi.builder()
.baseUrl("https://xxxx")
.completionsPath("/v1/chat/completions")
.apiKey(customApiKey)
.build();
final OpenAiChatOptions chatOptions = OpenAiChatOptions.builder()
.model("gpt-5.6")
.temperature(0.8)
.maxTokens(1024)
.build();
final OpenAiChatModel chatModel = new OpenAiChatModel(
this.openAiApi,
this.chatOptions,
DefaultToolCallingManager.builder().build(),
RetryTemplate.defaultInstance(),
ObservationRegistry.create()
);
@GetMapping("/ai/chat/call")
public String call(@RequestParam("message") String message) {
return this.chatModel.call(new Prompt(message)).getResult().getOutput().getText();
}
}


浙公网安备 33010602011771号