Langchain4j+Spring Boot:快速集成 AI 大模型到 Java 后端应用
·
Langchain4j + Spring Boot:快速集成 AI 大模型到 Java 后端应用
Langchain4j 是 Java 生态中的 LangChain 实现,用于简化与大语言模型(如 OpenAI GPT、Hugging Face 等)的交互。结合 Spring Boot,你可以快速构建高效的后端应用,实现 AI 功能集成。下面我将逐步指导你完成集成过程,确保结构清晰、代码可靠。
步骤 1:创建 Spring Boot 项目
首先,使用 Spring Initializr 或 IDE 创建新项目:
- 依赖选择:添加
Spring Web和Lombok(简化代码)。 - 构建工具:推荐 Maven 或 Gradle(以下以 Maven 为例)。
在 pom.xml 中添加 Langchain4j 依赖:
<dependencies>
<!-- Spring Boot 基础依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>provided</scope>
</dependency>
<!-- Langchain4j 核心库 -->
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-core</artifactId>
<version>0.31.0</version> <!-- 使用最新版本 -->
</dependency>
<!-- Langchain4j OpenAI 集成 -->
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-open-ai</artifactId>
<version>0.31.0</version>
</dependency>
</dependencies>
步骤 2:配置 API 密钥和模型
在 src/main/resources/application.properties 中设置 OpenAI API 密钥(或其他模型密钥):
# OpenAI API 密钥(从环境变量或安全存储读取)
openai.api.key=${OPENAI_API_KEY}
# 模型名称,例如 gpt-3.5-turbo
openai.model.name=gpt-3.5-turbo
安全提示:不要硬编码密钥。使用环境变量(如 System.getenv("OPENAI_API_KEY"))或 Spring Cloud Config 管理。
步骤 3:创建 AI 服务类
定义一个 Spring Service 来封装模型调用。使用 Langchain4j 的 OpenAiChatModel 实现聊天功能。
import dev.langchain4j.model.openai.OpenAiChatModel;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
@Service
public class AIService {
private final OpenAiChatModel chatModel;
// 通过构造函数注入配置
public AIService(@Value("${openai.api.key}") String apiKey,
@Value("${openai.model.name}") String modelName) {
this.chatModel = OpenAiChatModel.builder()
.apiKey(apiKey)
.modelName(modelName)
.temperature(0.7) // 控制生成随机性
.build();
}
// 聊天方法:输入消息,返回 AI 响应
public String chat(String userMessage) {
return chatModel.generate(userMessage);
}
}
步骤 4:创建 REST 控制器
暴露一个 API 端点供前端或客户端调用。
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class AIController {
private final AIService aiService;
@Autowired
public AIController(AIService aiService) {
this.aiService = aiService;
}
// 定义聊天端点:POST /chat
@PostMapping("/chat")
public String handleChatRequest(@RequestBody String userMessage) {
return aiService.chat(userMessage);
}
}
步骤 5:运行和测试应用
- 启动应用:运行
SpringBootApplication主类。 - 测试 API:使用工具如 curl 或 Postman 发送请求:
curl -X POST http://localhost:8080/chat -H "Content-Type: text/plain" -d "你好,世界!"- 响应示例:
"你好!有什么我可以帮助你的吗?"
- 响应示例:
注意事项
- 错误处理:添加全局异常处理(如
@ControllerAdvice)捕获模型调用错误。 - 模型扩展:Langchain4j 支持 Hugging Face、LocalAI 等模型。只需替换依赖和配置:
- 例如,使用 Hugging Face:添加
langchain4j-hugging-face依赖。
- 例如,使用 Hugging Face:添加
- 性能优化:
- 使用异步调用(如
CompletableFuture)避免阻塞。 - 限制请求频率,防止 API 配额超限。
- 使用异步调用(如
- 安全性:
- 在生产环境中,使用 Spring Security 保护端点。
- 通过网关(如 Spring Cloud Gateway)管理 API 访问。
总结
通过以上步骤,你可以在 10 分钟内将 AI 大模型集成到 Spring Boot 应用中。Langchain4j 提供了简洁的 API,Spring Boot 则简化了配置和部署。尝试扩展功能,如添加记忆(Memory)或工具(Tools),构建更智能的应用。如需完整示例代码,可参考 Langchain4j GitHub 仓库。
更多推荐


所有评论(0)