跳到主要内容

Azure OpenAI

备注

这是 Azure OpenAI 集成的文档,它使用来自 Microsoft 的 Azure SDK,如果您使用 Microsoft Java 技术栈,包括高级 Azure 认证机制,它会工作得最好。

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

  • 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。

Azure OpenAI 提供了几个嵌入模型(text-embedding-3-smalltext-embedding-ada-002 等), 可用于将文本或图像转换为维度向量空间。

Maven 依赖

纯 Java

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

Spring Boot

<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-azure-open-ai-spring-boot-starter</artifactId>
<version>1.0.0-beta3</version>
</dependency>

创建 AzureOpenAiEmbeddingModel

纯 Java

EmbeddingModel model = AzureOpenAiEmbeddingModel.builder()
.apiKey(System.getenv("AZURE_OPENAI_KEY"))
.deploymentName("text-embedding-3-small")
.endpoint("https://langchain4j.openai.azure.com/")
...
.build();

Spring Boot

application.properties 中添加:

langchain4j.azure-open-ai.embedding-model.endpoint=https://langchain4j.openai.azure.com/
langchain4j.azure-open-ai.embedding-model.service-version=...
langchain4j.azure-open-ai.embedding-model.api-key=${AZURE_OPENAI_KEY}
langchain4j.azure-open-ai.embedding-model.deployment-name=text-embedding-3-small
langchain4j.azure-open-ai.embedding-model.timeout=...
langchain4j.azure-open-ai.embedding-model.max-retries=...
langchain4j.azure-open-ai.embedding-model.log-requests-and-responses=...
langchain4j.azure-open-ai.embedding-model.user-agent-suffix=...
langchain4j.azure-open-ai.embedding-model.dimensions=...
langchain4j.azure-open-ai.embedding-model.customHeaders=...

示例