Skip to content
LangChain4j 文档版本 1.22.0 源快照 bd4fac06 更新于 2026-10-14

OpenAI 官方 SDK

NOTE

这是 OpenAI 官方 SDK 集成的文档,它使用 官方 OpenAI Java SDK。

LangChain4j 提供了 3 种不同的 OpenAI 集成来使用嵌入模型,这里是第 2 种:

  • OpenAI 使用对 OpenAI REST API 的自定义 Java 实现,最适合与 Quarkus(因其使用 Quarkus REST 客户端)以及 Spring(因其使用 Spring 的 RestClient)搭配。
  • OpenAI 官方 SDK 使用官方的 OpenAI Java SDK。
  • Azure OpenAI 使用微软的 Azure SDK,最适合在你使用微软 Java 技术栈(包括高级 Azure 认证机制)时。

本集成的适用场景

本集成使用 OpenAI Java SDK GitHub 仓库,适用于所有可由以下方提供的 OpenAI 模型:

  • OpenAI
  • Azure OpenAI
  • GitHub Models

它也能与支持 OpenAI API 的模型配合使用。

OpenAI 文档

Maven 依赖

xml
<dependency>
    <groupId>dev.langchain4j</groupId>
    <artifactId>langchain4j-open-ai-official</artifactId>
    <version>1.22.0-beta32</version>
</dependency>

配置模型

要使用 OpenAI 模型,你通常需要一个端点 URL、一个 API 密钥和一个模型名。这取决于模型托管在哪里,本集成尝试通过一些自动配置让它更简单:

通用配置

java
import com.openai.models.embeddings.EmbeddingModel;
import dev.langchain4j.model.embedding.EmbeddingModel;
import dev.langchain4j.model.openaiofficial.OpenAiOfficialEmbeddingModel;

import static com.openai.models.embeddings.EmbeddingModel.TEXT_EMBEDDING_3_SMALL;

// ....

EmbeddingModel model = OpenAiOfficialEmbeddingModel.builder()
        .baseUrl(System.getenv("AZURE_OPENAI_ENDPOINT"))
        .apiKey(System.getenv("AZURE_OPENAI_KEY"))
        .modelName(TEXT_EMBEDDING_3_SMALL)
        .build();

针对 Azure OpenAI 与 GitHub Models 的具体配置。

与配置 OpenAI 官方聊天模型 类似,你可以使用 isAzure() 和 isGitHubModels() 方法,将 OpenAiOfficialEmbeddingModel 配置为 Azure OpenAI 与 GitHub Models。

Azure OpenAI

java
EmbeddingModel model = OpenAiOfficialEmbeddingModel.builder()
        .baseUrl(System.getenv("AZURE_OPENAI_ENDPOINT"))
        .apiKey(System.getenv("AZURE_OPENAI_KEY"))
        .modelName(TEXT_EMBEDDING_3_SMALL)
        .isAzure(true) // Not necessary if the base URL ends with `openai.azure.com`
        .build();

你也可以使用"无密码"认证,如 OpenAI 官方聊天模型 文档所述。

GitHub Models

java
EmbeddingModel model = OpenAiOfficialEmbeddingModel.builder()
        .modelName(TEXT_EMBEDDING_3_SMALL)
        .isGitHubModels(true)
        .build();

使用模型

模型配置好后,即可用它创建嵌入:

java
Response<Embedding> response = model.embed("Please embed this sentence.");

BytesRouter 是社区翻译站点,所有译文仅供参考,一切以官方英文原文为准。