AzureOpenAIEmbeddings 功能和配置选项的详细文档,请参阅 API 参考。
此前,LangChain.js 使用专用的 Azure OpenAI SDK 来支持与 Azure OpenAI 的集成。该 SDK 现已弃用,取而代之的是 OpenAI SDK 中新的 Azure 集成,它允许你在最新 OpenAI 模型和功能发布的同一天就进行访问,并支持在 OpenAI API 和 Azure OpenAI 之间无缝切换。如果你正在使用已弃用的 SDK 与 Azure OpenAI 集成,请参阅迁移指南以更新到新的 API。
概述
集成详情
| 类 | 包 | 本地 | Py 支持 | 下载量 | 版本 |
|---|---|---|---|---|---|
AzureOpenAIEmbeddings | @langchain/openai | ❌ | ✅ |
设置
要访问 Azure OpenAI 嵌入模型,你需要创建一个 Azure 账户,获取 API 密钥,并安装@langchain/openai 集成包。
凭证
你需要部署一个 Azure OpenAI 实例。你可以按照本指南在 Azure Portal 上部署一个版本。 一旦你的实例运行起来,请确保你拥有实例名称和密钥。你可以在 Azure Portal 中实例的“Keys and Endpoint”部分找到密钥。 如果你使用的是 Node.js,可以定义以下环境变量来使用该服务:安装
LangChain 的 AzureOpenAIEmbeddings 集成位于@langchain/openai 包中:
你可以在 Azure OpenAI 文档中找到支持的 API 版本列表。
实例化
现在我们可以实例化我们的模型对象并嵌入文本:索引和检索
嵌入模型通常用于检索增强生成 (RAG) 流程,既作为索引数据的一部分,也用于后续检索。有关更详细的说明,请参阅我们位于学习标签页下的 RAG 教程。 下面,了解如何使用我们上面初始化的embeddings 对象来索引和检索数据。在此示例中,我们将使用演示版 MemoryVectorStore 索引和检索一个样本文档。
直接使用
在底层,向量存储和检索器的实现会分别调用embeddings.embedDocument(...) 和 embeddings.embedQuery(...),为 fromDocuments 和检索器的 invoke 操作中使用的文本创建嵌入。
你可以直接调用这些方法,为你自己的用例获取嵌入。
嵌入单个文本
你可以使用embedQuery 嵌入查询以进行搜索。这会生成特定于查询的向量表示:
嵌入多个文本
你可以使用embedDocuments 嵌入多个文本以进行索引。此方法内部使用的逻辑可能(但不必)与嵌入查询不同:
使用 Azure 托管标识
如果你正在使用 Azure 托管标识,可以像这样配置凭据:使用不同的域
如果你的实例托管在默认openai.azure.com 之外的域下,你需要使用备用的 AZURE_OPENAI_BASE_PATH 环境变量。
例如,下面是如何连接到域 https://westeurope.api.microsoft.com/openai/deployments/{DEPLOYMENT_NAME} 的方法:
自定义标头
你可以通过传入一个configuration 字段来指定自定义标头:
configuration 字段也接受官方 SDK 所接受的其他 ClientOptions 参数。
注意: 目前无法以这种方式覆盖特定的标头 api-key,它将从 azureOpenAIApiKey 获取值。
从 Azure OpenAI SDK 迁移
如果你正在使用已弃用的 Azure OpenAI SDK 配合@langchain/azure-openai 包,你可以按照以下步骤更新代码以使用新的 Azure 集成:
-
安装新的
@langchain/openai包并移除先前的@langchain/azure-openai包:npm -
更新你的导入,使用来自
@langchain/openai包的新AzureOpenAIEmbeddings类: -
更新你的代码以使用新的
AzureOpenAIEmbeddings类并传入所需的参数:请注意,构造函数现在需要azureOpenAIApiInstanceName参数而不是azureOpenAIEndpoint参数,并添加了azureOpenAIApiVersion参数以指定 API 版本。-
如果你之前使用的是 Azure 托管标识,现在你需要使用构造函数的
azureADTokenProvider参数而不是credentials,更多细节请参阅 Azure 托管标识 部分。 -
如果你之前使用的是环境变量,现在需要设置
AZURE_OPENAI_API_INSTANCE_NAME环境变量而不是AZURE_OPENAI_API_ENDPOINT,并添加AZURE_OPENAI_API_VERSION环境变量以指定 API 版本。
-
如果你之前使用的是 Azure 托管标识,现在你需要使用构造函数的
API 参考
有关所有AzureOpenAIEmbeddings 功能和配置的详细文档,请前往 API 参考。
Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

