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 资源添加一个作用域为 Cognitive Services OpenAI User 的 Azure 角色分配。这将允许您从 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 参数指定此部署。例如:
连接这些文档 至 Claude、VSCode 等,通过 MCP 获取实时答案。

