Azure OpenAI 是一项 Microsoft Azure 服务,提供来自 OpenAI 的强大语言模型。 本文将帮助你开始使用 AzureChatOpenAI 聊天模型。所有 AzureChatOpenAI 功能和配置的详细文档,请前往 API 参考。

概述

集成详情

模型功能

请参阅下方表格标题中的链接,了解如何使用特定功能。

设置

Azure OpenAI 是一项云服务,可帮助你利用来自 OpenAI、Meta 等的多种预制和精选模型,快速开发生成式 AI 体验。 LangChain.js 通过 OpenAI SDK 中新的 Azure 集成支持与 Azure OpenAI 集成。 你可以在此页面了解更多关于 Azure OpenAI 及其与 OpenAI API 的区别。

凭证

如果你没有 Azure 账户,可以创建一个免费账户以开始使用。 你还需要部署一个 Azure OpenAI 实例。可以按照此指南在 Azure 门户上部署一个版本。 实例运行后,请确保你拥有实例的名称和密钥。你可以在 Azure 门户中,你的实例的“密钥和终结点”部分找到密钥。然后,如果使用 Node.js,你可以将凭证设置为环境变量:
如果你想对模型调用进行自动追踪,也可以通过取消注释下面的行来设置你的 LangSmith API 密钥:

安装

LangChain AzureChatOpenAI 集成位于 @langchain/openai 包中:

实例化

现在我们可以实例化模型对象并生成聊天补全:

调用

使用 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 迁移

如果你正在使用已弃用的 @langchain/azure-openai 包中的 Azure OpenAI SDK,你可以按照以下步骤更新代码以使用新的 Azure 集成:
  1. 安装新的 @langchain/openai 包并移除旧的 @langchain/azure-openai 包:
  1. 更新你的导入语句,以使用来自 @langchain/openai 包的新 AzureChatOpenAI 类:
  2. 更新你的代码,以使用新的 AzureChatOpenAI 类并传递所需的参数:
    请注意,构造函数现在需要 azureOpenAIApiInstanceName 参数而不是 azureOpenAIEndpoint 参数,并添加了 azureOpenAIApiVersion 参数来指定 API 版本。
    • 如果你之前使用的是 Azure 托管身份,现在需要使用构造函数的 azureADTokenProvider 参数而不是 credentials,更多详情请参阅 Azure 托管身份 部分。
    • 如果你之前使用的是环境变量,现在必须设置 AZURE_OPENAI_API_INSTANCE_NAME 环境变量而不是 AZURE_OPENAI_API_ENDPOINT,并添加 AZURE_OPENAI_API_VERSION 环境变量来指定 API 版本。

API 参考

所有 AzureChatOpenAI 功能和配置的详细文档,请前往 API 参考。