主题
Azure OpenAI
NOTE
这是 Azure OpenAI 集成的文档,它使用微软的 Azure SDK,最适合在你使用微软 Java 技术栈(包括高级 Azure 认证机制)时。
LangChain4j 提供了 3 种不同的 OpenAI 集成来使用嵌入模型,这里是第 3 种:
- OpenAI 使用对 OpenAI REST API 的自定义 Java 实现,最适合与 Quarkus(因其使用 Quarkus REST 客户端)以及 Spring(因其使用 Spring 的 RestClient)搭配。
- OpenAI 官方 SDK 使用官方的 OpenAI Java SDK。
- Azure OpenAI 使用微软的 Azure SDK,最适合在你使用微软 Java 技术栈(包括高级 Azure 认证机制)时。
Azure OpenAI 提供若干嵌入模型(text-embedding-3-small、text-embedding-ada-002 等), 可用于将文本或图像转换到多维向量空间。
Maven 依赖
纯 Java
xml
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-azure-open-ai</artifactId>
<version>1.22.0</version>
</dependency>1
2
3
4
5
2
3
4
5
Spring Boot
xml
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-azure-open-ai-spring-boot4-starter</artifactId>
<version>1.22.0-beta32</version>
</dependency>1
2
3
4
5
2
3
4
5
NOTE
该 starter 需要 Spring Boot 4。在 Spring Boot 3 上,请改用 langchain4j-azure-open-ai-spring-boot-starter。 详见 Spring Boot 集成。
创建 AzureOpenAiEmbeddingModel
纯 Java
java
EmbeddingModel model = AzureOpenAiEmbeddingModel.builder()
.apiKey(System.getenv("AZURE_OPENAI_KEY"))
.deploymentName("text-embedding-3-small")
.endpoint("https://langchain4j.openai.azure.com/")
...
.build();1
2
3
4
5
6
2
3
4
5
6
Spring Boot
添加到 application.properties:
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=...1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10