LangChain4j快速入門實戰
大家好,我是程序員NEO。現在 AI 應用開發可以說是程序員必備的技能了,求職時能夠大幅增加競爭力。本篇文章,我來給大家介紹一款主流的 Java AI 應用開發框架 LangChain4j。
什么是 LangChain4j?
目前主流的 Java AI 開發框架有 Spring AI[1] 和 LangChain4j[2],它們都提供了很多 開箱即用的 API 來幫你調用大模型、實現 AI 開發常用的功能。
比如:
? 對話記憶
? 結構化輸出
? RAG 知識庫
? 工具調用
? MCP
? SSE 流式輸出
就我個人體驗下來,這兩個框架的很多概念和用法都是類似的,也都提供了很多插件擴展,都支持和 Spring Boot 項目集成。雖然有一些編碼上的區別,但孰好?孰壞,使用感受也是因人而異的。
實際開發中應該如何選擇呢?
這個答案等我后續再寫一篇文章來對比分析吧,今天我們主要來介紹 LangChain4j。最后再揭曉答案,因為那個時候?你自己也會有一些想法。
這里我簡單的新建一個 lang-chain4j-demo 項目,來演示一下它的基本用法。
打開 IDEA 開發工具,新建一個 Spring Boot 項目,Java 版本選擇 21(因為 LangChain4j 最低支持 17 版本)。
選擇依賴,使用 3.5.x 版本的 Spring Boot,引入 Spring MVC 和? Lombok 注解庫:

? SpringBoot 3.5.3
? JDK 21
新建項目后,先修改配置文件后綴為 yml,便于后面填寫配置。

這里我會建議大家創建一個 application-local.yml 配置文件,將開發時用到的敏感配置寫到這里,并且添加到 .gitignore 中,防止不小心開源出來。
好,接下來我們來添加 LangChain4j 依賴。先實現第一個功能:AI 對話 - ChatModel。
AI 對話 - ChatModel
ChatModel 是最基礎的概念,負責和 AI 大模型交互。
首先需要引入至少一個 AI 大模型依賴[3],這里選擇國內的阿里云大模型,提供了和 Spring Boot 項目的整合依賴包,比較方便:
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-community-dashscope-spring-boot-starter</artifactId>
<version>1.1.0-beta7</version>
</dependency>
需要到 阿里云百煉平臺[4] 獲取大模型調用 key,注意不要泄露!
圖片
回到項目,在配置文件中添加大模型配置,指定模型名稱和 API Key:
langchain4j:
community:
dashscope:
chat-model:
model-name: qwen-max
api-key: <You API Key here>
圖片
可以 按需選擇模型名稱[5],追求效果可以用 qwen-max,否則可以選擇效果、速度、成本均衡的 qwen-plus。
圖片
除了編寫配置讓 Spring Boot 自動構建 ChatModel 外,也可以通過構造器自己創建 ChatModel 對象。這種方式更靈活,在 LangChain4j 中?我們會經常用到這種方式來構造對象。
ChatModel qwenModel = QwenChatModel.builder()
.apiKey("You API key here")
.modelName("qwen-max")
.enableSearch(true)
.temperature(0.7)
.maxTokens(4096)
.stops(List.of("Hello"))
.build();有了 ChatModel 后,創建一個 AiCodeHelper 類,引入自動注入的 qwenChatModel,編寫簡單的對話代碼,并利用 L?ombok 注解打印輸出結果日志:
/**
* @author BNTang
*/
@Service
@Slf4j
public class AiCodeHelper {
@Resource
private ChatModel qwenChatModel;
public String chat(String message) {
UserMessage userMessage = UserMessage.from(message);
ChatResponse chatResponse = qwenChatModel.chat(userMessage);
AiMessage aiMessage = chatResponse.aiMessage();
log.info("AI 輸出:{}", aiMessage.toString());
return aiMessage.text();
}
}編寫單元測試,向 AI 打個招呼吧:
@SpringBootTest
class AiCodeHelperTest {
@Resource
private AiCodeHelper aiCodeHelper;
@Test
void chat() {
aiCodeHelper.chat("你好,我是程序員NEO");
}
}以 Debug 模式運行單元測試,成功運行并查看輸出:
圖片
可以看到 AI 很有禮貌地回應了我,說明我們已經成功調用了阿里云大模型。
好了,今天的內容就到這里,后續我會繼續寫一些 LangChain4j 的實戰功能,比如對話記憶、結構化輸出、RAG 知識庫等,敬請期待!
引用鏈接
[1] Spring AI: https://spring.io/projects/spring-ai
[2] LangChain4j: https://docs.langchain4j.dev/intro
[3] AI 大模型依賴: https://mvnrepository.com/artifact/dev.langchain4j/langchain4j-community-dashscope-spring-boot-starter
[4] `阿里云百煉平臺`: https://bailian.console.aliyun.com/?tab=model#/api-key
[5] 按需選擇模型名稱: https://bailian.console.aliyun.com/?tab=doc#/doc/?type=model



































