openai Python 包使得同时使用 OpenAI 和 Azure OpenAI 变得容易。您可以像调用 OpenAI 一样调用 Azure OpenAI,例外情况见下文。
API 配置
您可以使用环境变量配置openai 包以使用 Azure OpenAI。以下是针对 bash 的:
Azure Active Directory 身份验证
您可以通过以下两种方式向 Azure OpenAI 进行身份验证:- API 密钥
- Azure Active Directory (AAD)
az login 进行登录。
为您的 Azure OpenAI 资源添加一个 Azure 角色分配 Cognitive Services OpenAI User。这将允许您从 AAD 获取令牌以与 Azure OpenAI 一起使用。您可以将此角色分配授予用户、组、服务主体或托管身份。有关 Azure OpenAI RBAC 角色的更多信息,请参阅 基于角色的访问控制文档。
要在 Python 中配合 LangChain 使用 AAD,请安装 azure-identity 包。然后,将 OPENAI_API_TYPE 设置为 azure_ad。接下来,使用 DefaultAzureCredential 类通过调用 get_token 从 AAD 获取令牌,如下所示。最后,将 OPENAI_API_KEY 环境变量设置为令牌值。
DefaultAzureCredential 类是开始 AAD 身份验证的简单方法。如有必要,您还可以自定义凭据链。在下方的示例中,我们首先尝试托管身份,然后回退到 Azure CLI。如果您在 Azure 上运行代码但希望在本地开发,这很有用。
部署
使用 Azure OpenAI,您可以设置自己的常见 GPT-3 和 Codex 模型的部署。调用 API 时,您需要指定要使用的部署。 注意:这些文档适用于 Azure 文本补全模型。GPT-4 等模型是聊天模型。它们具有稍微不同的接口,可以通过AzureChatOpenAI 类访问。有关 Azure 聊天的文档,请参阅 Azure Chat OpenAI 文档。
假设您的部署名称为 gpt-35-turbo-instruct-prod。在 openai Python API 中,您可以使用 engine 参数指定此部署。例如:
Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

