从手动发送 HTTP 请求到用代码优雅地调用大模型是智能应用开发的第一步。市面上 Java 调用大模型的工具库主要有两个LangChain4j和Spring AI。今天这一节我们聚焦LangChain4j用最短的路径带你跑通第一个 Java 调用大模型的程序。一、为什么需要 LangChain4j之前我们都是用 Apifox 发送 HTTP 请求来调用百炼平台的大模型这在测试阶段没问题但实际项目里肯定不能靠手动发请求。我们需要把大模型的能力嵌入到业务代码中让它和传统软件深度融合。LangChain4j 就是为此而生的一套 Java 工具库它封装了各类大模型的调用细节让我们用几行代码就能完成对话、流式输出、工具调用等复杂操作。LangChain4j的官网是https://docs.langchain4j.dev/二、快速入门三分钟跑通第一个对话2.1创建 Maven 工程在 IDE 中新建一个普通的 Maven 项目不依赖 Spring Boot保证 JDK 版本 ≥ 17。创建一个LangChain4j-SDK项目本文选用JDK212.2 引入依赖在pom.xml中加入 LangChain4j 的 OpenAI 兼容模块2026.05.15最新版!-- Source: https://mvnrepository.com/artifact/dev.langchain4j/langchain4j-open-ai -- dependency groupIddev.langchain4j/groupId artifactIdlangchain4j-open-ai/artifactId version1.15.0/version /dependencyMaven仓库地址https://mvnrepository.com/artifact/dev.langchain4j/langchain4j-open-ai因为阿里云百炼的 API 完全兼容 OpenAI 格式我们直接使用这个模块即可。2.3 配置 API-KEY环境变量⚠️安全提醒永远不要把 API-KEY 直接写在代码里一旦提交到 Git 就会造成密钥泄露。推荐的做法是将 API-KEY 配置到系统环境变量中。打开系统环境变量设置在用户变量中新建一个变量变量名API-KEY变量值你在阿里云百炼平台申请的 API-KEY重启 IDEA让环境变量生效。2.4构建 OpenAiChatModel 并对话下面是完整的代码核心就三步创建模型对象、设置参数、调用chat方法。import dev.langchain4j.model.openai.OpenAiChatModel; public class App { public static void main(String[] args) { // 构建 OpenAiChatModel 对象 OpenAiChatModel model OpenAiChatModel.builder() .baseUrl(https://dashscope.aliyuncs.com/compatible-mode/v1) // 百炼兼容端点 .apiKey(System.getenv(API-KEY)) // 从环境变量读取 .modelName(qwen-plus) // 模型名称 .build(); // 发送消息并获取回复 String result model.chat(用一句话介绍 Java 语言); System.out.println(result); } }运行main方法控制台就会打印大模型的回答。至此你已经完成了第一次 Java 代码调用大模型。运行结果如下2.5 开启请求/响应日志开发阶段我们经常需要查看实际发送的请求内容和模型返回的原始数据LangChain4j 提供了非常方便的日志开关①我们只需要在构建OpenAiChatModel对象的时候调用logRequests和logResponses方法设置一下即可。import dev.langchain4j.model.openai.OpenAiChatModel; public class App { public static void main(String[] args) { // 构建 OpenAiChatModel 对象 OpenAiChatModel model OpenAiChatModel.builder() .baseUrl(https://dashscope.aliyuncs.com/compatible-mode/v1) // 百炼兼容端点 //.apiKey(System.getenv(API-KEY)) // 从环境变量读取 .apiKey(sk-xxxx) // 从环境变量读取 .modelName(qwen-plus) // 模型名称 .logRequests(true) // 打印请求日志 .logResponses(true) // 打印响应日志 .build(); // 发送消息并获取回复 String result model.chat(用一句话介绍 Java 语言); System.out.println(result); } }②LangChain4j 内部使用 SLF4J 输出日志没有具体实现时日志就不会显示。解决方案添加一个 SLF4J 日志后端依赖推荐使用Logback只需在pom.xml中加入!-- Source: https://mvnrepository.com/artifact/ch.qos.logback/logback-classic -- dependency groupIdch.qos.logback/groupId artifactIdlogback-classic/artifactId version1.5.32/version /dependency2.6日志查看开启后控制台会输出类似下面的信息20:58:23.517 [main] INFO dev.langchain4j.http.client.log.LoggingHttpClient -- HTTP request: - method: POST - url: https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions - headers: [Authorization: Beare...5a], [User-Agent: langchain4j-openai], [Content-Type: application/json] - body: { model : qwen-plus, messages : [ { role : user, content : 用一句话介绍 Java 语言 } ], stream : false } 20:58:25.597 [main] INFO dev.langchain4j.http.client.log.LoggingHttpClient -- HTTP response: - status code: 200 - headers: [:status: 200], [content-length: 571], [content-type: application/json], [date: Mon, 18 May 2026 12:58:25 GMT], [req-arrive-time: 1779109104138], [req-cost-time: 1529], [resp-start-time: 1779109105667], [server: istio-envoy], [vary: Origin,Access-Control-Request-Method,Access-Control-Request-Headers, Accept-Encoding], [x-dashscope-call-gateway: true], [x-envoy-upstream-service-time: 1528], [x-request-id: e50e6057-68d5-9572-a83b-92aafb83196a] - body: {model:qwen-plus,id:chatcmpl-e50e6057-68d5-9572-a83b-92aafb83196a,choices:[{message:{content:Java 是一种面向对象、跨平台“一次编写到处运行”、具有自动内存管理垃圾回收和丰富类库的通用编程语言广泛应用于企业级应用、Android 开发、大数据和云计算等领域。,role:assistant},index:0,finish_reason:stop}],created:1779109104,object:chat.completion,usage:{total_tokens:63,completion_tokens:49,prompt_tokens:14,prompt_tokens_details:{cached_tokens:0}}}三、小结通过 LangChain4j我们将之前手动发送 HTTP 请求的过程封装成了短短几行代码。回顾一下关键点依赖langchain4j-open-ai模块兼容所有 OpenAI 格式的 API。安全API-KEY 放入环境变量杜绝硬编码泄露。模型构建OpenAiChatModel.builder()链式设置baseUrl、apiKey、modelName。调试利器logRequests(true)和logResponses(true)让交互过程透明化。
* LangChain4j-SDK 快速入门 (经典白雪)
从手动发送 HTTP 请求到用代码优雅地调用大模型是智能应用开发的第一步。市面上 Java 调用大模型的工具库主要有两个LangChain4j和Spring AI。今天这一节我们聚焦LangChain4j用最短的路径带你跑通第一个 Java 调用大模型的程序。一、为什么需要 LangChain4j之前我们都是用 Apifox 发送 HTTP 请求来调用百炼平台的大模型这在测试阶段没问题但实际项目里肯定不能靠手动发请求。我们需要把大模型的能力嵌入到业务代码中让它和传统软件深度融合。LangChain4j 就是为此而生的一套 Java 工具库它封装了各类大模型的调用细节让我们用几行代码就能完成对话、流式输出、工具调用等复杂操作。LangChain4j的官网是https://docs.langchain4j.dev/二、快速入门三分钟跑通第一个对话2.1创建 Maven 工程在 IDE 中新建一个普通的 Maven 项目不依赖 Spring Boot保证 JDK 版本 ≥ 17。创建一个LangChain4j-SDK项目本文选用JDK212.2 引入依赖在pom.xml中加入 LangChain4j 的 OpenAI 兼容模块2026.05.15最新版!-- Source: https://mvnrepository.com/artifact/dev.langchain4j/langchain4j-open-ai -- dependency groupIddev.langchain4j/groupId artifactIdlangchain4j-open-ai/artifactId version1.15.0/version /dependencyMaven仓库地址https://mvnrepository.com/artifact/dev.langchain4j/langchain4j-open-ai因为阿里云百炼的 API 完全兼容 OpenAI 格式我们直接使用这个模块即可。2.3 配置 API-KEY环境变量⚠️安全提醒永远不要把 API-KEY 直接写在代码里一旦提交到 Git 就会造成密钥泄露。推荐的做法是将 API-KEY 配置到系统环境变量中。打开系统环境变量设置在用户变量中新建一个变量变量名API-KEY变量值你在阿里云百炼平台申请的 API-KEY重启 IDEA让环境变量生效。2.4构建 OpenAiChatModel 并对话下面是完整的代码核心就三步创建模型对象、设置参数、调用chat方法。import dev.langchain4j.model.openai.OpenAiChatModel; public class App { public static void main(String[] args) { // 构建 OpenAiChatModel 对象 OpenAiChatModel model OpenAiChatModel.builder() .baseUrl(https://dashscope.aliyuncs.com/compatible-mode/v1) // 百炼兼容端点 .apiKey(System.getenv(API-KEY)) // 从环境变量读取 .modelName(qwen-plus) // 模型名称 .build(); // 发送消息并获取回复 String result model.chat(用一句话介绍 Java 语言); System.out.println(result); } }运行main方法控制台就会打印大模型的回答。至此你已经完成了第一次 Java 代码调用大模型。运行结果如下2.5 开启请求/响应日志开发阶段我们经常需要查看实际发送的请求内容和模型返回的原始数据LangChain4j 提供了非常方便的日志开关①我们只需要在构建OpenAiChatModel对象的时候调用logRequests和logResponses方法设置一下即可。import dev.langchain4j.model.openai.OpenAiChatModel; public class App { public static void main(String[] args) { // 构建 OpenAiChatModel 对象 OpenAiChatModel model OpenAiChatModel.builder() .baseUrl(https://dashscope.aliyuncs.com/compatible-mode/v1) // 百炼兼容端点 //.apiKey(System.getenv(API-KEY)) // 从环境变量读取 .apiKey(sk-xxxx) // 从环境变量读取 .modelName(qwen-plus) // 模型名称 .logRequests(true) // 打印请求日志 .logResponses(true) // 打印响应日志 .build(); // 发送消息并获取回复 String result model.chat(用一句话介绍 Java 语言); System.out.println(result); } }②LangChain4j 内部使用 SLF4J 输出日志没有具体实现时日志就不会显示。解决方案添加一个 SLF4J 日志后端依赖推荐使用Logback只需在pom.xml中加入!-- Source: https://mvnrepository.com/artifact/ch.qos.logback/logback-classic -- dependency groupIdch.qos.logback/groupId artifactIdlogback-classic/artifactId version1.5.32/version /dependency2.6日志查看开启后控制台会输出类似下面的信息20:58:23.517 [main] INFO dev.langchain4j.http.client.log.LoggingHttpClient -- HTTP request: - method: POST - url: https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions - headers: [Authorization: Beare...5a], [User-Agent: langchain4j-openai], [Content-Type: application/json] - body: { model : qwen-plus, messages : [ { role : user, content : 用一句话介绍 Java 语言 } ], stream : false } 20:58:25.597 [main] INFO dev.langchain4j.http.client.log.LoggingHttpClient -- HTTP response: - status code: 200 - headers: [:status: 200], [content-length: 571], [content-type: application/json], [date: Mon, 18 May 2026 12:58:25 GMT], [req-arrive-time: 1779109104138], [req-cost-time: 1529], [resp-start-time: 1779109105667], [server: istio-envoy], [vary: Origin,Access-Control-Request-Method,Access-Control-Request-Headers, Accept-Encoding], [x-dashscope-call-gateway: true], [x-envoy-upstream-service-time: 1528], [x-request-id: e50e6057-68d5-9572-a83b-92aafb83196a] - body: {model:qwen-plus,id:chatcmpl-e50e6057-68d5-9572-a83b-92aafb83196a,choices:[{message:{content:Java 是一种面向对象、跨平台“一次编写到处运行”、具有自动内存管理垃圾回收和丰富类库的通用编程语言广泛应用于企业级应用、Android 开发、大数据和云计算等领域。,role:assistant},index:0,finish_reason:stop}],created:1779109104,object:chat.completion,usage:{total_tokens:63,completion_tokens:49,prompt_tokens:14,prompt_tokens_details:{cached_tokens:0}}}三、小结通过 LangChain4j我们将之前手动发送 HTTP 请求的过程封装成了短短几行代码。回顾一下关键点依赖langchain4j-open-ai模块兼容所有 OpenAI 格式的 API。安全API-KEY 放入环境变量杜绝硬编码泄露。模型构建OpenAiChatModel.builder()链式设置baseUrl、apiKey、modelName。调试利器logRequests(true)和logResponses(true)让交互过程透明化。