本页面涵盖 LangChain 与 Microsoft Azure 及其他 Microsoft products.
聊天模型
Microsoft 通过 Azure 提供三种主要聊天模型访问选项:
- **Azure OpenAI** (推荐)— 通过单一界面访问 Microsoft Foundry 中部署的任何模型(包括 OpenAI、Llama、DeepSeek、Mistral 和 Phi),并提供企业级功能,如通过 Microsoft Entra ID实现的无密钥身份验证、区域数据驻留和专用网络。使用
ChatOpenAI使用 v1 API,或使用AzureChatOpenAI进行传统部署。
Azure OpenAI 还支持 Responses API,让您可以直接从聊天模型访问服务器端工具,如代码解释器、图像生成和文件搜索。 2. **Azure AI** — 推荐用于在聊天模型旁边访问更广泛的 Azure 生态系统中的工具、存储和自定义中间件。 3. **Azure ML** — 允许使用 Azure Machine Learning 部署和管理自定义或微调的开源模型。
Azure OpenAI
要开始使用 Azure OpenAI, 创建 Azure 部署 并安装 langchain-openai package:
pip install -U langchain-openai
uv add langchain-openai
在 v1 API 上,直接对您的 Azure 端点使用 ChatOpenAI——无需 api_version required:
Entra ID (recommended)
pip install azure-identity
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
from langchain_openai import ChatOpenAI
token_provider = get_bearer_token_provider(
DefaultAzureCredential(),
"https://cognitiveservices.azure.com/.default",
)
llm = ChatOpenAI(
model="gpt-5.4-mini", # your Azure deployment name
base_url="https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
api_key=token_provider, # callable that handles token refresh
)
API key
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(
model="gpt-5.4-mini", # your Azure deployment name
base_url="https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
api_key="your-azure-api-key",
)
对于传统 Azure OpenAI API 版本,请使用 AzureChatOpenAI:
from langchain_openai import AzureChatOpenAI
请参阅 Azure ChatOpenAI 集成页面 了解端到端设置、Entra ID 身份验证、工具调用和推理示例。
Responses API
Azure OpenAI 支持 Responses API,它提供有状态对话、内置工具(网络搜索、文件搜索、代码解释器)和结构化推理摘要。 ChatOpenAI 在您设置 reasoning 参数时会自动路由到 Responses API,或者您可以通过以下方式明确选择加入 use_responses_api=True:
Entra ID (recommended)
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
from langchain_openai import ChatOpenAI
token_provider = get_bearer_token_provider(
DefaultAzureCredential(),
"https://cognitiveservices.azure.com/.default",
)
llm = ChatOpenAI(
model="gpt-5.4-mini",
base_url="https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
api_key=token_provider,
use_responses_api=True,
)
response = llm.invoke("Summarize the bitter lesson.")
print(response.text)
API key
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(
model="gpt-5.4-mini",
base_url="https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
api_key="your-azure-api-key",
use_responses_api=True,
)
response = llm.invoke("Summarize the bitter lesson.")
print(response.text)
有关 Responses API 中推理工作、推理摘要和流式处理的详细演示,请参阅 Azure ChatOpenAI 集成页面.
Azure AI
>Azure AI Foundry 是更广泛的 Azure AI 平台。 langchain-azure-ai 包允许您将 Azure 原生工具、存储和自定义中间件集成到 LangChain 应用中,并通过 AzureAIOpenAIApiChatModel class.
pip install -U langchain-azure-ai
uv add langchain-azure-ai
请参阅 使用示例.
大语言模型
Microsoft 通过 Azure 提供两种主要的 LLM 访问方式:
- **Azure OpenAI** (推荐)— 通过 @[ 访问部署在 Microsoft Foundry 中的任何模型(包括 OpenAI、Llama、DeepSeek、Mistral 和 Phi)作为补全 LLM
AzureOpenAI]. - **Azure ML** — 使用托管在 Azure 机器学习在线端点上的自定义或开源模型。
Azure OpenAI
请参阅 使用示例.
pip install -U langchain-openai
uv add langchain-openai
Entra ID (recommended)
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
from langchain_openai import AzureOpenAI
token_provider = get_bearer_token_provider(
DefaultAzureCredential(),
"https://cognitiveservices.azure.com/.default",
)
llm = AzureOpenAI(
azure_deployment="gpt-5.4-mini", # your Azure deployment name
api_version="2025-04-01-preview",
azure_ad_token_provider=token_provider,
)
print(llm.invoke("Write a haiku about the ocean."))
API key
from langchain_openai import AzureOpenAI
llm = AzureOpenAI(
azure_deployment="gpt-5.4-mini", # your Azure deployment name
api_version="2025-04-01-preview",
azure_endpoint="https://YOUR-RESOURCE-NAME.openai.azure.com/",
api_key="your-azure-api-key",
)
print(llm.invoke("Write a haiku about the ocean."))
嵌入模型
Microsoft 通过 Azure 提供两种主要的嵌入模型访问方式:
- **Azure OpenAI** (推荐)— 使用部署在 Microsoft Foundry 中的嵌入模型(包括 OpenAI
text-embedding-3-small,text-embedding-3-large和 Cohere)配合AzureOpenAIEmbeddings. - **Azure AI** — 推荐用于在嵌入模型旁边访问更广泛 Azure 生态系统中的工具、存储和自定义中间件。
Azure OpenAI
请参阅 使用示例.
pip install -U langchain-openai
uv add langchain-openai
Entra ID (recommended)
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
from langchain_openai import AzureOpenAIEmbeddings
token_provider = get_bearer_token_provider(
DefaultAzureCredential(),
"https://cognitiveservices.azure.com/.default",
)
embeddings = AzureOpenAIEmbeddings(
azure_deployment="text-embedding-3-small", # your Azure deployment name
api_version="2025-04-01-preview",
azure_ad_token_provider=token_provider,
)
vector = embeddings.embed_query("LangChain makes agents easy.")
API key
from langchain_openai import AzureOpenAIEmbeddings
embeddings = AzureOpenAIEmbeddings(
azure_deployment="text-embedding-3-small", # your Azure deployment name
api_version="2025-04-01-preview",
azure_endpoint="https://YOUR-RESOURCE-NAME.openai.azure.com/",
api_key="your-azure-api-key",
)
vector = embeddings.embed_query("LangChain makes agents easy.")
Azure AI
pip install -U langchain-azure-ai
uv add langchain-azure-ai
请参阅 使用示例.
中间件
Azure AI 内容安全中间件
>Azure AI 内容安全 提供了可通过中间件应用于 LangChain 代理的防护栏。 langchain-azure-ai 该包当前导出用于文本审核、图像审核、提示词注入检测、受保护内容检测和基础性评估的中间件。
安装中间件包:
pip install -U langchain-azure-ai
uv add langchain-azure-ai
from langchain_azure_ai.agents.middleware import AzureContentModerationMiddleware
文档加载器
Azure Blob 存储
>Azure Blob 存储 是微软的云对象存储解决方案。Blob 存储专为存储海量非结构化数据而优化。非结构化数据是不遵循特定数据模型或定义的数据,例如文本或二进制数据。
Azure Blob Storage 设计用途: - 直接向浏览器提供图像或文档。 - 存储文件以供分布式访问。 - 流式传输视频和音频。 - 写入日志文件。 - 存储数据以供备份和还原、灾难恢复及归档。 - 存储数据以供本地或 Azure 托管服务进行分析。
pip install langchain-azure-storage
uv add langchain-azure-storage
from langchain_azure_storage.document_loaders import AzureBlobStorageLoader
内存
Azure Cosmos DB 聊天消息历史记录
>Azure Cosmos DB 为对话式 AI 应用提供聊天消息历史记录存储,使您能够以低延迟和高可用性持久化和检索对话历史。
pip install langchain-azure-cosmosdb
uv add 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, # optional: messages expire after 1 hour
)
history.prepare_cosmos()
history.add_user_message("Hello!")
history.add_ai_message("Hi there!")
对于异步使用,请从同一包导入 AsyncCosmosDBChatMessageHistory 。
Azure Cosmos DB 语义缓存
>AzureCosmosDBNoSqlSemanticCache 使用向量相似性在 Azure Cosmos DB for NoSQL 中缓存 LLM 响应,当再次遇到语义相似的提示时返回缓存结果。
pip install langchain-azure-cosmosdb
uv add 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 服务提供支持 以高可靠性和低维护成本进行动态扩展。凭借原子记录序列引擎,它是世界上第一个全球分布式 NoSQL, 关系型和 向量数据库 服务,提供无服务器模式。
以下是两个可提供向量存储功能的 Azure Cosmos DB API。
Azure Cosmos DB for MongoDB (vCore)
>Azure Cosmos DB for MongoDB vCore 让您轻松创建具有完整原生 MongoDB 支持的数据库。 > 您可以应用您的 MongoDB 经验并继续使用您最喜欢的 MongoDB 驱动程序、SDK 和工具,只需将应用程序指向 API for MongoDB vCore 账户的连接字符串即可。 > 在 Azure Cosmos DB for MongoDB vCore 中使用向量搜索,将您的 AI 应用程序与存储在 Azure Cosmos DB 中的数据无缝集成。
安装和设置
请参阅 详细的配置说明.
我们需要安装 langchain-azure-ai 和 pymongo python 包。
pip install langchain-azure-ai pymongo
uv add 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-cosmosdb 和 azure-cosmos python 包。
pip install langchain-azure-cosmosdb azure-cosmos
uv add 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 - 灵活服务器 是一种基于开源 Postgres 数据库引擎的关系数据库服务。它是一种完全托管的数据库即服务,可以处理任务关键型工作负载,具有可预测的性能、安全性、高可用性和动态可扩展性。
请参阅 设置说明 了解 Azure Database for PostgreSQL 的设置说明。
只需使用 连接字符串 从您的 Azure 门户。
由于 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 - 灵活服务器 是一种基于开源 Postgres 数据库引擎的关系数据库服务。它是一种完全托管的数据库即服务,能够处理任务关键型工作负载,具有可预测的性能、安全性、高可用性和动态可扩展性。
请参阅 设置说明 了解 Azure Database for PostgreSQL。
您需要 启用 pgvector 扩展 才能将 Postgres 用作向量存储。启用扩展后,您可以使用 LangChain 中的 PGVector 来连接到 Azure Database for PostgreSQL。
请参阅 使用示例。只需使用 连接字符串 (从 Azure 门户获取)。
工具
Microsoft Foundry 工具
Microsoft Foundry 公开了用于 Azure AI 内容理解、文档智能、图像分析和医疗文本分析的 LangChain 服务工具。
使用以下命令安装包 tools extra:
pip install -U "langchain-azure-ai[tools]"
uv add "langchain-azure-ai[tools]"
from langchain_azure_ai.tools import AzureAIDocumentIntelligenceTool
图像生成工具
Microsoft Foundry Models 在目录中提供了多种用于图像生成的模型。
from langchain_azure_ai.tools import AzureOpenAIModelImageGenTool
转录工具
Microsoft Foundry Models 在目录中提供了 Whisper 模型,用于语音到文本的转录。
from langchain_azure_ai.tools import AzureOpenAITranscriptionsTool
代码解释器工具(服务器端)
使用代码解释器工具在沙盒容器中服务器端运行 Python 代码。
from langchain_azure_ai.tools.builtin import CodeInterpreterTool
网络搜索工具(服务器端)
搜索互联网获取当前信息和来源。
from langchain_azure_ai.tools.builtin import WebSearchTool
文件搜索工具(服务器端)
在向量存储中搜索相关文档内容。
from langchain_azure_ai.tools.builtin import FileSearchTool
图像生成工具(服务器端)
在 Azure AI Foundry 中使用 GPT 图像模型在服务器端生成或编辑图像。
from langchain_azure_ai.tools.builtin import ImageGenerationTool
MCP 工具(服务器端)
访问外部模型上下文协议 (MCP) 服务器。
from langchain_azure_ai.tools.builtin import McpTool
Azure 容器应用动态会话
我们需要获取 POOL_MANAGEMENT_ENDPOINT Azure Container Apps 服务中的环境变量。 请参阅 Azure 动态会话设置说明.
我们需要安装一个 Python 包。
pip install langchain-azure-dynamic-sessions
uv add langchain-azure-dynamic-sessions
请参阅 使用示例.
from langchain_azure_dynamic_sessions import SessionsPythonREPLTool
Azure 逻辑应用
触发 Azure 逻辑应用工作流以自动执行业务流程和集成。
使用以下方式安装包 tools extra:
pip install -U "langchain-azure-ai[tools]"
uv add "langchain-azure-ai[tools]"
请参阅 Azure 逻辑应用集成指南.
from langchain_azure_ai.tools import AzureLogicAppTool
工具包
Microsoft Foundry 项目工具箱
通过模型上下文协议 (MCP) 从 Azure AI Foundry 工具箱动态加载工具。
使用以下方式安装包 tools extra:
pip install -U "langchain-azure-ai[tools]" langchain-mcp-adapters httpx
uv add "langchain-azure-ai[tools]" langchain-mcp-adapters httpx
from langchain_azure_ai.tools import AzureAIProjectToolbox
Microsoft Foundry 工具(原 Azure AI 服务)
安装集成包:
pip install -U "langchain-azure-ai[tools]"
uv add "langchain-azure-ai[tools]"
请参阅 使用示例.
from langchain_azure_ai.tools import AzureAIServicesToolkit
该 AzureAIServicesToolkit 工具包包含以下工具:
- - 图像分析: AzureAIImageAnalysisTool
- - 文档智能: AzureAIDocumentIntelligenceTool
- - 语音转文本: AzureAISpeechToTextTool
- - 文本转语音: AzureAITextToSpeechTool
- - 健康文本分析: AzureAITextAnalyticsHealthTool