跳到主要内容

OpenAI 官方 SDK

备注

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

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

  • OpenAI 使用 OpenAI REST API 的自定义 Java 实现,最适合与 Quarkus(因为它使用 Quarkus REST 客户端)和 Spring(因为它使用 Spring 的 RestClient)一起使用。
  • OpenAI 官方 SDK 使用官方 OpenAI Java SDK。
  • Azure OpenAI 使用来自 Microsoft 的 Azure SDK,如果您使用 Microsoft Java 技术栈,包括高级 Azure 认证机制,它会工作得最好。
  • GitHub Models 使用 Azure AI 推理 API 访问 GitHub Models。

此集成的用例

此集成使用 OpenAI Java SDK GitHub 仓库,适用于以下提供商提供的所有 OpenAI 模型:

  • OpenAI
  • Azure OpenAI
  • GitHub Models

它也适用于支持 OpenAI API 的模型。

OpenAI 文档

Maven 依赖

<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-open-ai-official</artifactId>
<version>1.0.0-beta3</version>
</dependency>

配置模型

要使用 OpenAI 模型,通常需要一个端点 URL、API 密钥和模型名称。这取决于模型的托管位置,此集成尝试通过一些自动配置使其更容易:

通用配置

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

// ....

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

Azure OpenAI 和 GitHub Models 的特定配置

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

Azure OpenAI

EmbeddingModel model = OpenAiOfficialEmbeddingModel.builder()
.baseUrl(System.getenv("AZURE_OPENAI_ENDPOINT"))
.apiKey(System.getenv("AZURE_OPENAI_KEY"))
.modelName(EmbeddingModel.TEXT_EMBEDDING_3_SMALL)
.isAzure(true) // 如果基本 URL 以 `openai.azure.com` 结尾,则不必要
.build();

您还可以使用 OpenAI 官方聊天模型 文档中描述的"无密码"认证。

GitHub Models

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

使用模型

一旦配置了模型,您可以使用它创建嵌入:

Response<Embedding> response = model.embed("请嵌入这个句子。");