LangChain4j实现最基础对话
·
本文介绍如何在 Spring Boot 中使用 LangChain4j 接入 DeepSeek,实现一个最简单的 AI 对话接口。
本人使用的打法是比较主流的,是先定义一个接口而后用动态代理的方法自动生成接口的实现类,在conifg中使用工厂构建,虽然自由度较低但是我们的写法更加的快速
准备条件
1. DeepSeek API Key
你需要有:
DeepSeek API Key
获取地址:
2. Spring Boot 项目
推荐:
- Spring Boot 3.x
- JDK 17+
三、引入依赖
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j</artifactId>
<version>0.35.0</version>
</dependency>
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-open-ai</artifactId>
<version>0.35.0</version>
</dependency>
四、配置 DeepSeek
DeepSeek 兼容 OpenAI 接口,所以我们用 OpenAI Client。
langchain4j:
open-ai:
chat-model:
api-key: sk-xxxxx
model-name: deepseek-chat
base-url: https://api.deepseek.com/v1
五、定义 AI 接口(核心)
public interface ChatAgent {
String chat(String message);
}
六、创建 AiService(重点)
@Configuration
public class AiConfig {
@Bean
public ChatAgent chatAgent(ChatModel chatModel) {
return AiServices.builder(ChatAgent.class)
.chatModel(chatModel)
.build();
}
}
帮你生成 ChatAgent 的实现类(动态代理)
七、创建 Controller
@RestController
@RequestMapping("/api/chat")
public class ChatController {
private final ChatAgent chatAgent;
public ChatController(ChatAgent chatAgent) {
this.chatAgent = chatAgent;
}
@PostMapping
public String chat(@RequestBody ChatRequest request) {
return chatAgent.chat(request.getMessage());
}
}
八、请求 DTO
public class ChatRequest {
private String message;
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
九、调用测试
请求:
POST /api/chat
Content-Type: application/json
{
"message": "你好,你是谁?"
}
返回:
我是基于DeepSeek的AI助手
十、整体流程
用户请求
↓
Controller
↓
ChatAgent接口
↓
AiServices动态代理
↓
DeepSeek API
↓
返回结果
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)