文章目錄
- 概述
- 一、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)”
- 構建對話歷史上下文鏈