Azure OpenAI vs OpenAIAzure OpenAI 指的是托管在 Microsoft Azure 平台上的 OpenAI 模型。OpenAI 也提供自己的模型 API。要直接访问 OpenAI 服务,请使用
ChatOpenAI 集成。Azure OpenAI v1 APIAzure OpenAI 的 v1 API(预计于 2025 年 8 月一般可用)允许您直接使用
ChatOpenAI 与 Azure 端点进行交互。这提供了一个统一的接口,并支持 Microsoft Entra ID 认证,自动刷新令牌。请参阅 ChatOpenAI Azure 部分以了解如何使用 ChatOpenAI 与 Azure 的 v1 API 结合使用。AzureChatOpenAI 当前仍然支持传统的 Azure OpenAI API 版本和需要特定于 Azure 配置的场景,但我们建议在 LangChain Azure AI 中使用 ChatOpenAI 或 AzureAIOpenAIApiChatModel。AzureChatOpenAI 与 ChatOpenAI 共享相同的底层基础实现,
这个接口直接与 OpenAI 服务进行交互。本页面提供了一个快速入门指南,用于对您的 Azure OpenAI 服务进行身份验证并将其连接到 LangChain 聊天模型。您可以访问 ChatOpenAI 文档以了解可用功能的详细信息,或者前往 AzureChatOpenAI API 参考。概览
集成细节
| 类 | 包 | 序列化 | JS/TS 支持 | 下载量 | 最新版本 |
|---|---|---|---|---|---|
AzureChatOpenAI | langchain-openai | beta | ✅ (npm) |
模型功能
设置
要访问AzureChatOpenAI 模型,您需要创建一个 Azure 账户、部署一个 Azure OpenAI 模型、获取您的部署名称和端点、获取 Azure OpenAI API 密钥,并安装 langchain-openai 集成包。
安装
身份验证凭据
请参阅 Azure 文档创建您的部署并生成 API 密钥。完成此操作后,请设置AZURE_OPENAI_API_KEY 和 AZURE_OPENAI_ENDPOINT 环境变量:
实例化
现在我们可以实例化我们的模型对象并生成聊天完成。- 将
azure_deployment替换为您部署的名称, - 您可以在这里找到最新支持的
api_version:learn.microsoft.com/en-us/azure/ai-services/openai/reference。
调用
流式传输使用元数据
OpenAI 的 Chat Completions API 默认不流式传输标记使用统计数据(请参阅 OpenAI API 参考中的流选项)。 要在使用ChatOpenAI 或 AzureChatOpenAI 进行流式传输时恢复标记计数,请将 stream_usage=True 作为初始化参数或调用参数设置:
指定模型版本
Azure OpenAI 响应包含model_name 回复元数据属性,这是用于生成响应的模型名称。然而,与原生 OpenAI 响应不同,它不包含特定于部署的模型版本(设置在 Azure 中)。例如,它无法区分 gpt-35-turbo-0125 和 gpt-35-turbo-0301。这使得很难知道生成响应使用的是哪个模型版本,结果可能导致例如错误的成本计算。
为了解决这个问题,您可以向 AzureChatOpenAI 类传递 model_version 参数,该参数将被添加到 llm 输出的模型名称中。这样可以轻松区分不同版本的模型。
API 参考
有关所有功能和配置选项的详细文档,请访问 AzureChatOpenAI API 参考。使用 MCP 将这些文档与 Claude、VSCode 等连接,以获得实时答案。

