欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 维修 > 【Java学习】Spring AI集成指南

【Java学习】Spring AI集成指南

2025/4/19 9:10:38 来源:https://blog.csdn.net/meisongqing/article/details/147159779  浏览:    关键词:【Java学习】Spring AI集成指南

在 Java 中使用 Spring AI 可以简化与生成式 AI(如 OpenAI、Hugging Face 等)的集成。以下是详细步骤和示例代码,帮助你快速上手。


1. 添加依赖

首先,在项目的 pom.xml 中添加 Spring AI 的依赖(以 OpenAI 为例):

xml

复制

<dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-openai-spring-boot-starter</artifactId><version>0.8.1</version> <!-- 检查最新版本 -->
</dependency>

运行 HTML

如果使用 Gradle:

groovy

复制

implementation 'org.springframework.ai:spring-ai-openai-spring-boot-starter:0.8.1'

注意:Spring AI 正在快速发展,版本可能频繁更新,请检查 Spring AI 官方文档 获取最新版本。


2. 配置 API 密钥

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

properties

复制

# application.properties
spring.ai.openai.api-key=YOUR_API_KEY

或 YAML 格式:

yaml

复制

# application.yml
spring:ai:openai:api-key: YOUR_API_KEY

确保替换 YOUR_API_KEY 为实际的 OpenAI API 密钥。


3. 创建 AI 服务类

创建一个 Spring 服务类,注入 OpenAITemplate 或 ChatClient 来调用 AI 模型:

java

复制

import org.springframework.ai.client.AiClient;
import org.springframework.ai.client.AiResponse;
import org.springframework.ai.prompt.Prompt;
import org.springframework.ai.prompt.SystemPrompt;
import org.springframework.ai.prompt.messages.UserMessage;
import org.springframework.stereotype.Service;@Service
public class AIService {private final AiClient aiClient;public AIService(AiClient aiClient) {this.aiClient = aiClient;}public String generateText(String prompt) {// 构建请求Prompt request = new Prompt(new UserMessage(prompt));// 调用 AI 模型AiResponse response = aiClient.generate(request);// 提取生成的文本return response.getGeneration().getText();}
}

4. 创建 REST 控制器

创建一个控制器,暴露 API 接口供外部调用:

java

复制

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;@RestController
public class AIController {private final AIService aiService;public AIController(AIService aiService) {this.aiService = aiService;}@GetMapping("/generate")public String generate(@RequestParam String prompt) {return aiService.generateText(prompt);}
}

5. 运行并测试

启动 Spring Boot 应用后,通过浏览器或工具(如 Postman)测试接口:

复制

http://localhost:8080/generate?prompt=用Java写一个Hello World程序

响应示例:

java

复制

public class HelloWorld {public static void main(String[] args) {System.out.println("Hello, World!");}
}

高级用法

自定义模型参数

在生成文本时,可以调整温度(temperature)和最大 Token 数(maxTokens)等参数:

java

复制

PromptTemplate promptTemplate = new PromptTemplate("告诉我关于 {topic} 的信息");
Prompt prompt = promptTemplate.create(Map.of("topic", "量子力学"));GenerationOptions options = new GenerationOptions();
options.setTemperature(0.7f);
options.setMaxTokens(200);AiResponse response = aiClient.generate(prompt, options);
流式响应

如果需要实时流式响应(逐词返回结果),可以使用流式 API:

java

复制

aiClient.generateStream(prompt).subscribe(chunk -> {System.out.print(chunk.getGeneration().getText());});

切换 AI 模型供应商

Spring AI 支持多种模型供应商(如 OpenAI、Hugging Face、Azure OpenAI 等)。例如,切换到 Hugging Face

  1. 修改依赖:

xml

复制

<dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-huggingface-spring-boot-starter</artifactId><version>0.8.1</version>
</dependency>

运行 HTML

  1. 配置 Hugging Face 的 API 密钥:

properties

复制

spring.ai.huggingface.api-key=YOUR_HF_API_KEY

常见问题

依赖找不到?

确保添加了 Spring 的仓库(如快照仓库):

xml

复制

<repositories><repository><id>spring-snapshots</id><url>https://repo.spring.io/snapshot</url><snapshots><enabled>true</enabled></snapshots></repository>
</repositories>

运行 HTML

安全性

API 密钥应通过环境变量或配置服务器管理,避免硬编码在代码中:

properties

复制

spring.ai.openai.api-key=${OPENAI_API_KEY}

通过以上步骤,你可以快速将 AI 功能集成到 Java 应用中。更多高级功能(如 Embeddings、RAG 等)可参考 Spring AI 官方文档。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词