本页涵盖 LangChain 与 Microsoft Azure 以及其他 Microsoft 产品的所有集成。
推荐:Azure OpenAI我们建议在聊天模型LLM嵌入模型中使用 Azure OpenAI。借助 v1 API(截至 2025 年 8 月已正式可用),你可以直接通过 langchain-openai 包使用 Azure 端点和 API 密钥,调用部署在 Microsoft Foundry 中的任何模型(包括 OpenAI、Llama、DeepSeek、Mistral 和 Phi),并通过统一接口访问。你还可以获得对 Microsoft Entra ID 身份验证的原生支持,并使用最新功能,包括 Responses API推理模型从这里开始示例和教程:
Azure 上的 ClaudeMicrosoft Foundry 还提供对所有 Anthropic Claude 模型的访问,包括 Opus、Sonnet 和 Haiku。Claude 模型通过专用的 Anthropic 原生端点提供服务,而不是通过 Azure OpenAI v1 API。请使用指向你的 Foundry Anthropic 端点的 langchain-anthropic

聊天模型

Microsoft 提供三种通过 Azure 访问聊天模型的主要方式:
  1. Azure OpenAI(推荐)— 通过统一接口访问部署在 Microsoft Foundry 中的任何模型(包括 OpenAI、Llama、DeepSeek、Mistral 和 Phi),并具备企业级功能,例如通过 Microsoft Entra ID 进行无密钥身份验证、区域数据驻留和专用网络。可在 v1 API 上使用 ChatOpenAI,或使用 AzureChatOpenAI 进行传统部署。 Azure OpenAI 还支持 Responses API,可让你直接从聊天模型访问服务器端工具,例如代码解释器、图像生成和文件搜索。
  2. Azure AI — 推荐在使用聊天模型的同时,访问更广泛 Azure 生态系统中的工具、存储和自定义中间件。
  3. Azure ML — 允许使用 Azure Machine Learning 部署和管理自定义或微调的开源模型。

Azure OpenAI

要开始使用 Azure OpenAI,请创建 Azure 部署并安装 langchain-openai 包:
pip install -U langchain-openai
在 v1 API 上,直接针对你的 Azure 端点使用 ChatOpenAI——不需要 api_version 对于传统的 Azure OpenAI API 版本,请使用 AzureChatOpenAI
from langchain_openai import AzureChatOpenAI
请参阅 Azure ChatOpenAI 集成页面,了解端到端设置、Entra ID 身份验证、工具调用和推理示例。

Responses API

Azure OpenAI 支持 Responses API,它提供有状态对话、内置工具(网页搜索、文件搜索、代码解释器)以及结构化推理摘要。当你设置 reasoning 参数时,ChatOpenAI 会自动路由到 Responses API;你也可以通过 use_responses_api=True 显式启用: 有关推理强度、推理摘要以及使用 Responses API 进行流式传输的演示,请参阅 Azure ChatOpenAI 集成页面

Azure AI

Azure AI Foundry 是更广泛的 Azure AI 平台。langchain-azure-ai 包可让你将 Azure 原生工具、存储和自定义中间件引入 LangChain 应用,并通过 AzureAIOpenAIApiChatModel 类公开部署在 Foundry 中的聊天模型。
pip install -U langchain-azure-ai
请参阅使用示例

LLM

Microsoft 提供两种通过 Azure 访问 LLM 的主要方式:
  1. Azure OpenAI(推荐)— 使用 AzureOpenAI 将部署在 Microsoft Foundry 中的任何模型(包括 OpenAI、Llama、DeepSeek、Mistral 和 Phi)作为补全 LLM 访问。
  2. Azure ML — 使用托管在 Azure Machine Learning 在线端点上的自定义或开源模型。

Azure OpenAI

请参阅使用示例
pip install -U langchain-openai

嵌入模型

Microsoft 提供两种通过 Azure 访问嵌入模型的主要方式:
  1. Azure OpenAI(推荐)— 使用 AzureOpenAIEmbeddings 访问部署在 Microsoft Foundry 中的嵌入模型(包括 OpenAI text-embedding-3-smalltext-embedding-3-large 和 Cohere)。
  2. Azure AI — 推荐在使用嵌入模型的同时,访问更广泛 Azure 生态系统中的工具、存储和自定义中间件。

Azure OpenAI

请参阅使用示例
pip install -U langchain-openai

Azure AI

pip install -U langchain-azure-ai
请参阅使用示例

中间件

Azure AI Content Safety 中间件

Azure AI Content Safety 提供可通过中间件应用到 LangChain 代理的防护机制。langchain-azure-ai 包目前导出了用于文本审核、图像审核、提示注入检测、受保护材料检测和扎根性评估的中间件。
安装中间件包:
pip install -U langchain-azure-ai
请参阅 Microsoft Foundry 中间件指南
from langchain_azure_ai.agents.middleware import AzureContentModerationMiddleware

文档加载器

Azure Blob Storage

Azure Blob Storage 是 Microsoft 面向云的对象存储解决方案。Blob Storage 针对存储海量非结构化数据进行了优化。非结构化数据是指不遵循特定数据模型或定义的数据,例如文本或二进制数据。
Azure Blob Storage 适用于:
  • 直接向浏览器提供图像或文档。
  • 存储用于分布式访问的文件。
  • 流式传输视频和音频。
  • 写入日志文件。
  • 存储用于备份和还原、灾难恢复以及归档的数据。
  • 存储供本地或 Azure 托管服务分析的数据。
pip install langchain-azure-storage
请参阅 Azure Blob Storage Loader 的使用示例
from langchain_azure_storage.document_loaders import AzureBlobStorageLoader

记忆

Azure cosmos DB 聊天消息历史

Azure Cosmos DB 为对话式 AI 应用提供聊天消息历史存储,使你能够以低延迟和高可用性持久化并检索对话历史。
pip install langchain-azure-cosmosdb
配置你的 Azure Cosmos DB 连接(同步或异步,使用访问密钥或 Microsoft Entra ID):
from langchain_azure_cosmosdb import CosmosDBChatMessageHistory

history = CosmosDBChatMessageHistory(
    cosmos_endpoint="https://<your-account>.documents.azure.com:443/",
    cosmos_database="<your-database>",
    cosmos_container="<your-container>",
    session_id="<session-id>",
    user_id="<user-id>",
    credential="<your-key-or-token-credential>",
    ttl=3600,  # 可选:消息在 1 小时后过期
)
history.prepare_cosmos()

history.add_user_message("你好!")
history.add_ai_message("你好!")
对于异步用法,请从同一包中导入 AsyncCosmosDBChatMessageHistory

Azure cosmos DB 语义缓存

AzureCosmosDBNoSqlSemanticCache 使用向量相似度将 LLM 响应缓存在 Azure Cosmos DB for NoSQL 中,当再次遇到语义相似的提示时返回缓存结果。
pip install langchain-azure-cosmosdb
from azure.cosmos import CosmosClient, PartitionKey
from langchain_core.globals import set_llm_cache
from langchain_azure_cosmosdb import AzureCosmosDBNoSqlSemanticCache

cosmos_client = CosmosClient("<endpoint>", "<key>")

cache = AzureCosmosDBNoSqlSemanticCache(
    cosmos_client=cosmos_client,
    embedding=embedding,
    vector_embedding_policy=vector_embedding_policy,
    indexing_policy=indexing_policy,
    cosmos_container_properties={"partition_key": PartitionKey(path="/id")},
    cosmos_database_properties={"id": "cache-db"},
    vector_search_fields={"text_field": "text", "embedding_field": "embedding"},
    database_name="cache-db",
    container_name="cache-container",
)

set_llm_cache(cache)
对于异步用法,请导入 AsyncAzureCosmosDBNoSqlSemanticCache

向量存储

Azure cosmos DB

AI 代理可以依赖 Azure Cosmos DB 作为统一的记忆系统解决方案,兼具速度、规模和简单性。该服务成功支持 OpenAI 的 ChatGPT 服务以高可靠性和低维护成本进行动态扩展。它由 atom-record-sequence 引擎驱动,是全球首个提供无服务器模式的全球分布式 NoSQL关系型向量数据库服务。 下面是两个可提供向量存储功能的 Azure Cosmos DB API。

Azure cosmos DB for MongoDB (vCore)

Azure Cosmos DB for MongoDB vCore 让创建具有完整原生 MongoDB 支持的数据库变得简单。 你可以复用自己的 MongoDB 经验,并通过将应用指向 API for MongoDB vCore 帐户的连接字符串,继续使用喜欢的 MongoDB 驱动程序、SDK 和工具。 使用 Azure Cosmos DB for MongoDB vCore 中的向量搜索,可以将基于 AI 的应用与存储在 Azure Cosmos DB 中的数据无缝集成。
安装和设置
请参阅详细配置说明 我们需要安装 langchain-azure-aipymongo Python 包。
pip install langchain-azure-ai pymongo
在 Microsoft Azure 上部署 Azure cosmos DB
Azure Cosmos DB for MongoDB vCore 为开发者提供完全托管、兼容 MongoDB 的数据库服务,可用于以熟悉的架构构建现代应用。 借助 Cosmos DB for MongoDB vCore,开发者在迁移现有应用或构建新应用时,可以享受原生 Azure 集成、较低总体拥有成本(TCO)以及熟悉的 vCore 架构带来的优势。 注册即可免费开始使用。 请参阅使用示例
from langchain_azure_ai.vectorstores import AzureCosmosDBMongoVCoreVectorSearch

Azure cosmos DB NoSQL

Azure Cosmos DB for NoSQL 现在提供预览版向量索引和搜索。 此功能旨在处理高维向量,在任何规模下都能实现高效且准确的向量搜索。你现在可以将向量 直接与数据一起存储在文档中。这意味着数据库中的每个文档不仅可以包含传统的无架构数据, 还可以将高维向量作为文档的其他属性。这种数据与向量的共置允许高效索引和搜索, 因为向量存储在与其所表示数据相同的逻辑单元中。这简化了数据管理、AI 应用架构以及 基于向量的操作效率。
安装和设置
请参阅详细配置说明 我们需要安装 langchain-azure-cosmosdbazure-cosmos Python 包。
pip install langchain-azure-cosmosdb azure-cosmos
在 Microsoft Azure 上部署 Azure cosmos DB
Azure Cosmos DB 通过动态且弹性的自动缩放提供高响应能力,为现代应用和智能工作负载提供解决方案。它可在 每个 Azure 区域使用,并可自动将数据复制到离用户更近的位置。它提供由 SLA 保证的低延迟和高可用性。 注册即可免费开始使用。 请参阅使用示例
from langchain_azure_cosmosdb import AzureCosmosDBNoSqlVectorSearch

Azure Database for PostgreSQL

Azure Database for PostgreSQL - Flexible Server 是基于开源 Postgres 数据库引擎的关系型数据库服务。它是一种完全托管的数据库即服务,能够以可预测的性能、安全性、高可用性和动态可扩展性处理关键任务工作负载。
请参阅 Azure Database for PostgreSQL 的设置说明 只需使用 Azure Portal 中的连接字符串 由于 Azure Database for PostgreSQL 是开源 Postgres,你可以使用 LangChain 的 Postgres 支持连接到 Azure Database for PostgreSQL。

Azure SQL Database

Azure SQL Database 是一项强大的服务,结合了可扩展性、安全性和高可用性,提供现代数据库解决方案的所有优势。它还提供专用的 Vector 数据类型和内置函数,简化了在关系型数据库中直接存储和查询向量嵌入的过程。这消除了对单独向量数据库及相关集成的需求,在降低整体复杂度的同时提升解决方案的安全性。
通过利用你当前的 SQL Server 数据库进行向量搜索,你可以增强数据能力,同时最大限度降低成本,并避免迁移到新系统所带来的挑战。
安装和设置
请参阅详细配置说明 我们需要安装 langchain-sqlserver Python 包。
!pip install langchain-sqlserver==0.1.1
在 Microsoft Azure 上部署 Azure SQL DB
注册即可免费开始使用。 请参阅使用示例
from langchain_sqlserver import SQLServer_VectorStore

向量存储

Azure Database for PostgreSQL

Azure Database for PostgreSQL - Flexible Server 是基于开源 Postgres 数据库引擎的关系型数据库服务。它是一种完全托管的数据库即服务,能够以可预测的性能、安全性、高可用性和动态可扩展性处理关键任务工作负载。
请参阅 Azure Database for PostgreSQL 的设置说明 你需要在数据库中启用 pgvector 扩展,才能将 Postgres 用作向量存储。启用该扩展后,你可以使用 LangChain 中的 PGVector连接到 Azure Database for PostgreSQL。 请参阅使用示例。只需使用 Azure Portal 中的连接字符串

工具

Azure Container apps 动态会话

我们需要从 Azure Container Apps 服务获取 POOL_MANAGEMENT_ENDPOINT 环境变量。 请参阅 Azure 动态会话设置说明 我们需要安装一个 Python 包。
pip install langchain-azure-dynamic-sessions
请参阅使用示例
from langchain_azure_dynamic_sessions import SessionsPythonREPLTool