Spring Boot + AI Agents:使用 LangChain4J 和 OpenAI 构建智能 API

内容分享1周前发布
12 1 0

Spring Boot + AI Agents:使用 LangChain4J 和 OpenAI 构建智能 API

人工智能集成是 2025 年最大的浪潮。开发者们乐于看到传统的 Java 技术栈(如 Spring Boot)如何与 LLM 交互——而 LangChain4J 正是一个冉冉升起的新星。

本次主题思路:

  • 如何将 Spring Boot REST API 与 OpenAI 或 Ollama 模型连接
  • 使用 LangChain4J 进行嵌入、内存和提示模板的编写
  • 演示:Spring Boot 微服务中的聊天机器人或文档问答
  • 额外提示:使用 Spring Security + API Keys 保护您的 API 调用。

“Spring Boot + AI Agents:我如何在 2025 年使用 LangChain4J 和 OpenAI 构建智能 API R&quo;

为什么这很重大

如果你是一名 Spring Boot 开发人员,你可能已经听说过 ChatGPT、LangChain 和 AI 代理等各种热门技术。但说实话,大多数 AI 教程都只针对 Python

那么……Java 可以加入 AI 的行列吗? 当然可以——这要归功于LangChain4J ,这是一个受 LangChain 启发而开发的 Java 库,旨在让用户能够轻松地在 Spring Boot 中直接构建 AI 驱动的应用程序。

读完本文,你将拥有一个可正常运行的、由人工智能驱动的 REST API,它可以:

  • 与 OpenAI 聊天
  • 存储上下文记忆
  • 像其他 Spring Boot 服务一样部署

⚙️ 第一步:项目设置

使用 Spring Initializr创建一个新的Spring Boot 项目(推荐 3.3 及以上版本):

依赖关系:

  • Spring Web
  • Lombok
  • LangChain4J(我们将手动添加)
  • Spring Boot 开发工具

将此添加到您的pom.xml:

<dependency>
    <groupId>dev.langchain4j</groupId>
    <artifactId>langchain4j</artifactId>
    <version>0.27.0</version>
</dependency>
<dependency>
    <groupId>dev.langchain4j</groupId>
    <artifactId>langchain4j-openai</artifactId>
    <version>0.27.0</version>
</dependency>

第二步:添加您的 OpenAI API 密钥

创建环境变量或application.yml文件:

openai:
  api-key: YOUR_OPENAI_API_KEY

或者,如果您愿意,可以将其存放在.env(为了安全起见,提议存放在)。

步骤 3:配置 OpenAI 客户端

目前我们将定义一个 Spring 配置,用于设置 LangChain4J 的 OpenAI 模型:

@Configuration
public class OpenAIConfig {
@Value("${openai.api-key}")
    private String apiKey;
    @Bean
    public OpenAiChatModel openAiChatModel() {
        return OpenAiChatModel.builder()
                .apiKey(apiKey)
                .modelName("gpt-4o-mini") // 使用 GPT-4-TURBO 或者您喜爱的任何模型
                .temperature(0.7)
                .build();
    }
}

第四步:创建人工智能服务

LangChain4J 使用@AiService — 这会将任何界面变成一个由提示驱动的 AI“代理”。

例子:

import dev.langchain4j.service.AiService;
import dev.langchain4j.service.UserMessage;
@AiService
public interface ChatBotService {
    @UserMessage("你是一位专业的 Java 辅助人员。请清晰、简洁地回答问题。")
    String ask(String question);
}

目前将其注入到 Spring Boot REST 控制器中。

第 5 步:构建 REST API

@RestController
@RequestMapping("/api/chat")
@RequiredArgsConstructor
public class ChatController {
private final ChatBotService chatBotService;
    @PostMapping
    public ResponseEntity<String> ask(@RequestBody Map<String, String> request) {
        String question = request.get("question");
        String answer = chatBotService.ask(question);
        return ResponseEntity.ok(answer);
    }
}

目前启动你的应用并发送请求:

curl -X POST http://localhost:8080/api/chat 
     -H "Content-Type: application/json" 
     -d '{"question": "用简单易懂的语言解释 Java 流式编程。"}'

输出:

Java Streams 使您能够以简洁、函数式的方式处理数据(例如列表)——进行过滤、映射和元素求和操作,而无需编写循环代码。

轰!——你的 Spring Boot API 瞬间变成了AI 驱动的 API。

第六步:添加记忆(情境感知)

要让你的聊天机器人记住之前的消息:

@Bean
public ChatMemory chatMemory() {
    return MessageWindowChatMemory.withMaxMessages(10);
}
@Bean
public ChatBotService chatBotService(OpenAiChatModel model, ChatMemory memory) {
    return AiServices.create(ChatBotService.class, model, memory);
}

目前它可以进行多轮对话——就像 ChatGPT 一样。

⚡ 第 7 步:添加 RAG(检索增强生成)

LangChain4J 支持连接文档嵌入以进行私有数据问答。

示例设置:

@Bean
public EmbeddingStore<TextSegment> embeddingStore() {
    return new InMemoryEmbeddingStore<>();
}
@Bean
public RetrievalAugmentedGenerator rag(OpenAiEmbeddingModel embeddingModel,
                                       OpenAiChatModel chatModel,
                                       EmbeddingStore<TextSegment> store) {
    return new RetrievalAugmentedGenerator(embeddingModel, chatModel, store);
}

第 8 步:使用 Spring Boot Actuator 添加可观测性

要监控请求、延迟和吞吐量,请将以下内容添加到您的配置中pom.xml:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

并公开指标:

management:
  endpoints:
    web:
      exposure:
        include: health, metrics, prometheus

如果您要部署到 Kubernetes 或使用 Grafana 进行监控,这将是理想之选

第 9 步:在 Postman 中测试 AI API

尝试使用类似这样的提示:

  • 请解释一下@Component和@Service之间的区别。
  • “编写一个处理文件上传的 REST 控制器。”
  • “重构这段代码,使其使用 Java Streams。”

你的AI将像一个专门的Java助手一样响应——托管在你自己的服务器上。

⚙️ 第 10 步:像部署普通 Spring Boot 应用一样部署

它只是个罐子!

mvn clean package
java -jar target/ai-spring-boot.jar

部署到:

  • 阿里云ECS
  • AWS EC2
  • Google Cloud Run
  • Kubernetes

无需 Python,无需 GPU——只需 Java 就能施展 AI 魔法。

结语

将LangChain4J 和 OpenAI集成到 Spring Boot 中,就像给你的 Java 应用装上了一个大脑。你可以构建:

  • 聊天机器人
  • 智能文档助手
  • 客户支持人工智能
  • 编码助手

全部用你最喜爱的语言——Java☕编写

R “后端未来不仅仅是 API,而是智能API。”


如果你是 Java / 后端 / 全栈开发者,这篇必定对你有用

本号持续输出:

  • Java 核心 & 高并发 & JVM
  • Spring / 架构设计 / 实战踩坑
  • AI × 编程 / Agent × 工程化

关注我,少踩坑,多走捷径。

© 版权声明

相关文章

1 条评论

none
暂无评论...