文章目录
- 概述
- 一、DeepSeek API Key 获取
- 二、Spring Boot 集成 LangChain4j 示例
- 三、拓展建议
概述
LangChain4j 是 LangChain 在 Java 生态下的实现,它是一个开源库,帮助你更方便地在 Spring Boot 应用中集成大语言模型(如 OpenAI 的 GPT-4)来构建智能应用,比如智能问答、聊天机器人、RAG(检索增强生成)系统、Agent、多轮对话等。
一、DeepSeek API Key 获取
注册并登录 DeepSeek 官网: https://api-docs.deepseek.com/zh-cn/
API Key
Base URL
(https://api.deepseek.com/v1
)
二、Spring Boot 集成 LangChain4j 示例
1、引入依赖
在 pom.xml
中添加 langchain4j
和 openai4j
依赖:
<dependencies><dependency><groupId>dev.langchain4j</groupId><artifactId>langchain4j</artifactId><version>0.29.0</version></dependency><dependency><groupId>dev.langchain4j</groupId><artifactId>langchain4j-open-ai</artifactId><version>0.29.0</version></dependency>
</dependencies>
2、配置文件 application.yml
langchain4j:openai:api-key: sk-58344173c5984cf787996d13160e38ec # 写自己的model-name: deepseek-chat # 使用的模型名称base-url: https://api.deepseek.com/v1 # DeepSeek API 的 endpoint
3、配置类 LangChain4jConfig.java
@Configuration
public class LangChain4jConfig {@Value("${langchain4j.openai.api-key}")private String apiKey;@Value("${langchain4j.openai.model-name}")private String modelName;@Value("${langchain4j.openai.base-url}")private String baseUrl;@Beanpublic OpenAiChatModel deepSeekModel() {return OpenAiChatModel.builder().apiKey(apiKey).modelName(modelName).baseUrl(baseUrl).build();}
}
⚠️ 注意:虽然这里用的是
OpenAiChatModel
,但 DeepSeek 支持 OpenAI 协议,可以无缝替换。
4、控制器 DeepSeekChatController.java
@RestController
@RequestMapping("/api/deepseek")
public class DeepSeekChatController {private final OpenAiChatModel model;@Autowired // 明确标注依赖注入public DeepSeekChatController(OpenAiChatModel model) {this.model = model;}@GetMappingpublic String chat(@RequestParam(value = "message", defaultValue = "你好") String message) {// 底层就是依赖okHttpClient进行网络请求return model.generate(message);}
}
测试结果:
游览器:
postman:
三、拓展建议
- 将模型调用封装成通用服务,支持多模型切换
- 加入缓存、上下文对话支持
- 与 Embedding 向量库联动,实现“知识增强问答(RAG)”
- 构建对话历史上下文链