Spring AI 入门教程:从0到1搭建你的第一个AI应用

零基础,一步步构建一个基于Spring AI的AI应用。从环境搭建开始,到最终实现一个能与AI模型交互的完整服务。

一、什么是Spring AI?

Spring AI是Spring官方推出的AI应用开发框架,它为Java开发者提供了简洁易用的API,用于集成各种AI模型和服务(如OpenAI、Hugging Face等)。其核心价值在于:

  • 统一的API接口,屏蔽不同AI服务的差异
  • 与Spring生态无缝集成
  • 内置最佳实践,简化AI应用开发

二、环境准备(从0开始)

1. 安装JDK 17+

Spring AI需要Java 17或更高版本:

  • 下载地址:https://adoptium.net/
  • 安装后验证:java -version 应显示17.x.x

2. 安装Maven

  • 下载地址:https://maven.apache.org/download.cgi
  • 配置环境变量:将Maven的bin目录添加到PATH
  • 验证:mvn -version

3. 获取OpenAI API密钥

  • 访问:https://platform.openai.com/
  • 注册账号并创建API密钥(注意保管,不要公开)

三、创建第一个Spring AI项目

1. 使用Spring Initializr生成项目

访问:https://start.spring.io/

  • 项目:Maven Project
  • 语言:Java
  • Spring Boot版本:3.2.x
  • 填写Group:com.example
  • 填写Artifact:spring-ai-first-app
  • 依赖:添加Spring Web

点击"Generate"下载项目压缩包,解压到本地。

2. 添加Spring AI依赖

打开项目中的pom.xml,添加Spring AI相关依赖:

四、配置AI服务

src/main/resources目录下创建application.properties文件:

注意:将你的API密钥替换为你从OpenAI获取的实际密钥

五、编写核心代码

1. 创建服务类

创建ChatService类,封装与AI模型的交互逻辑:

2. 创建控制器

创建ChatController类,提供HTTP接口:

3. 主应用类

确保主应用类位于正确的包路径下:

六、项目结构

确认你的项目结构如下:

src/
├── main/
│   ├── java/
│   │   └── com/
│   │       └── example/
│   │           └── springaifirstapp/
│   │               ├── SpringAiFirstAppApplication.java
│   │               ├── controller/
│   │               │   └── ChatController.java
│   │               └── service/
│   │                   └── ChatService.java
│   └── resources/
│       └── application.properties
└── pom.xml

七、运行与测试

  1. 启动应用

在项目根目录执行命令:

mvn spring-boot:run

等待应用启动成功,你会看到类似日志:Started SpringAiFirstAppApplication in x.x seconds

  1. 测试接口

打开浏览器或Postman,访问:

http://localhost:8080/chat?message=什么是Spring AI?

你应该会收到类似以下的响应:

Spring AI是Spring生态系统中的一个框架,旨在简化人工智能(AI)应用程序的开发。它提供了一套抽象和实现,使开发者能够轻松地将AI功能集成到Spring应用中,而无需深入了解各种AI服务和模型的复杂细节。

Spring AI支持与多种AI服务提供商(如OpenAI、Hugging Face等)进行集成,并提供了统一的API,使开发者可以方便地切换不同的AI服务而无需大量修改代码。此外,它还提供了诸如提示模板、输出解析、向量存储等功能,帮助开发者更高效地构建AI应用。

八、核心概念解释

  1. ChatClient:Spring AI的核心接口,用于与AI模型交互,自动处理请求格式、API调用等细节。

  2. 依赖注入:通过@Service@RestController注解,Spring会自动创建这些类的实例,并通过构造函数注入所需的依赖(如ChatClient)。

  3. 配置驱动:通过application.properties文件配置AI服务,无需硬编码API密钥等敏感信息。

九、常见问题及解决

  1. API密钥错误

    • 检查application.properties中的密钥是否正确
    • 确保密钥没有过期或被吊销
  2. 连接超时

    • 检查网络连接
    • 如在国内,可能需要配置代理
  3. 依赖下载失败

    • 检查Maven配置
    • 尝试执行mvn clean install -U强制更新依赖
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐