LangChain4j 提供与多种 LLM 提供商的集成,每种集成都有自己的 Maven 依赖项。 最简单的开始方式是使用 OpenAI 集成,集成步骤如下:
对于 Maven,请在 pom.xml 中添加如下内容:
<dependency> <groupId>dev.langchain4j</groupId> <artifactId>langchain4j-open-ai</artifactId> <version>1.0.0-beta3</version> </dependency>
如果您希望使用高级 AI 服务 API,您还需要添加以下依赖项:
<dependency> <groupId>dev.langchain4j</groupId> <artifactId>langchain4j</artifactId> <version>1.0.0-beta3</version> </dependency>
注意,下面是 LangChain4j 的 BOM 依赖:
<dependencyManagement> <dependencies> <dependency> <groupId>dev.langchain4j</groupId> <artifactId>langchain4j-bom</artifactId> <version>1.0.0-beta3</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
将你的 API KEY 密钥配置在环境变量中。
为什么要配置在环境变量中?将 API 密钥存储在环境变量中,以降低公开暴露的风险。避免你不小心将代码推送到 github 等公开的 Git 仓库,导致密钥泄露。AI 请求过程中消耗的 TOKEN 可是真金白银,还是要上点心!
导入成功后,使用如下 Java 代码获取 API KEY:
String apiKey = System.getenv("OPENAI_API_KEY");设置好密钥后,让我们创建一个 OpenAiChatModel 实例:
OpenAiChatModel model = OpenAiChatModel.builder()
    .apiKey(apiKey)
    .modelName("gpt-4o-mini")
    .build();现在,是时候开始聊天了!
String answer = model.chat("Say 'Hello World'");
System.out.println(answer); // Hello World是不是看上去很简单。
打开 pom.xml 文件,添加如下依赖信息:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.hxstrive</groupId>
  <artifactId>langchain4j_demo</artifactId>
  <version>0.0.1</version>
  <packaging>jar</packaging>
  <name>langchain4j_demo</name>
  <description>Spring Boot</description>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>17</java.version>
  </properties>
  <dependencies>
    <dependency>
      <groupId>dev.langchain4j</groupId>
      <artifactId>langchain4j</artifactId>
      <version>1.0.0-beta3</version>
    </dependency>
    <!-- langchain4j OpenAI 依赖 -->
    <dependency>
      <groupId>dev.langchain4j</groupId>
      <artifactId>langchain4j-open-ai</artifactId>
      <version>1.0.0-beta3</version>
    </dependency>
    <!-- 日志依赖 -->
    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-classic</artifactId>
      <version>1.5.18</version>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <target>${java.version}</target>
          <source>${java.version}</source>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>应用程序,直接通过 main() 方法去使用 LangChain4j,通过 OpenAiChatModel 构建调用大模型(gpt-3.5-turbo)需要的信息,如下:
package com.hxstrive.langchain4j;
import dev.langchain4j.model.openai.OpenAiChatModel;
public class HelloWorld {
    public static void main(String[] args) {
        try {
            OpenAiChatModel model = OpenAiChatModel.builder()
                    .baseUrl("https://api.xty.app/v1")
                    .apiKey("sk-vHTHX*************************AbB600")
                    .modelName("gpt-3.5-turbo")
                    .logRequests(true) // 打印请求日志
                    .logResponses(true) // 打印响应日志
                    .build();
            String answer = model.chat("你好,你是谁?");
            System.out.println(answer);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}运行 HelloWorld 程序,输出日志如下:
(1)请求报文:
14:54:18.644 [main] DEBUG dev.langchain4j.http.client.log.LoggingHttpClient -- HTTP request:
- method: POST
- url: https://api.xty.app/v1/chat/completions
- headers: [Authorization: Beare...00], [User-Agent: langchain4j-openai], [Content-Type: application/json]
- body: {
  "model" : "gpt-3.5-turbo",
  "messages" : [ {
    "role" : "user",
    "content" : "你好,你是谁?"
  } ],
  "stream" : false
}(2)响应报文:
14:54:22.519 [main] DEBUG dev.langchain4j.http.client.log.LoggingHttpClient -- HTTP response:
- status code: 200
- headers: [date: Mon, 22 Sep 2025 06:54:21 GMT], [content-length: 668], [server: cloudflare], [cf-ray: 982fe3e82899c73c-AMS], [access-control-allow-headers: *], [cf-cache-status: DYNAMIC], [access-control-allow-methods: POST, GET, OPTIONS, DELETE,PUT], [access-control-allow-origin: *], [access-control-max-age: 3600], [nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}], [x-oneapi-request-id: 20250922145419138547009hj5rsEfd], [content-type: application/json;charset=UTF-8], [:status: 200], [report-to: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=W8WVzj43eLtj9dzmhCt0yTKqMzPIFWu6wYpNQ00cvve%2B8irRZoa2tMwGOep5dopcksYan4ekjJSgJ3giycouhkL0lTPx%2BS6mfIGk"}]}], [alt-svc: h3=":443"; ma=86400]
- body: {
    "id": "chatcmpl-dmFt9ybdCHQpJNWFzdtlhhDj4lmpT",
    "object": "chat.completion",
    "created": 1758524060,
    "model": "gpt-3.5-turbo-0613",
    "choices": [
        {
            "index": 0,
            "message": {
                "role": "assistant",
                "content": "你好!我是ChatGPT,一个由OpenAI开发的人工智能聊天助手。很高兴和你聊天!你今天怎么样?有什么我可以帮忙的吗?"
            },
            "finish_reason": "stop"
        }
    ],
    "usage": {
        "prompt_tokens": 15,
        "completion_tokens": 61,
        "total_tokens": 76
    },
    "system_fingerprint": "fp_b28b39ffa8"
}AI 回复内容:
你好!我是ChatGPT,一个由OpenAI开发的人工智能聊天助手。很高兴和你聊天!你今天怎么样?有什么我可以帮忙的吗?
如果能正确看到 AI 回复,恭喜,LangChain4j 入门了……更多知识继续查看后续文字。
