langchain-azure-ai 包中,并从 langchain_azure_ai.agents.middleware 导出。
Azure AI 内容安全中间件目前在上游被标记为实验性。随着 Azure AI 内容安全和 LangChain 中间件支持的不断成熟,预计 API 接口将会演进。
概览
功能特性
- 针对有害内容和自定义黑名单的文本审核。
- 针对数据 URL 和公共 HTTP(S) 图像输入的图像审核。
- 使用提示防护进行提示注入检测。
- 针对文本和代码的受保护材料检测。
- 针对检索到的上下文评估生成答案的事实依据。
- 自定义
context_extractor钩子,以适应您的代理状态进行筛选和评估。
设置
要使用 Azure AI 内容安全中间件,请安装集成包,配置 Azure AI Foundry 项目端点或 Azure 内容安全端点,并提供凭据。安装
安装包:凭据
进行身份验证时,通过credential 参数传递 DefaultAzureCredential() 或 API 密钥字符串。使用 Foundry 项目需要使用 Microsoft Entra ID 进行身份验证。
初始化凭据
实例化
中间件支持两种端点样式:- 通过
AZURE_CONTENT_SAFETY_ENDPOINT使用 Azure 内容安全资源端点 - 通过
AZURE_AI_PROJECT_ENDPOINT使用 Azure AI Foundry 项目端点
project_endpoint,因为它为基于 Azure AI Foundry 的工作流提供了更好的默认设置。在大多数设置中,您可以设置一次环境变量,并在每个中间件实例化时省略 endpoint 或 project_endpoint。
配置端点
langchain_azure_ai.agents.middleware 导入并配置您的中间件。
初始化中间件
与代理一起使用
按顺序将中间件传递给create_agent。您可以将 Azure AI 中间件与内置中间件结合使用。
使用中间件的代理
Azure AI 内容安全
文本审核
使用AzureContentModerationMiddleware 在代理运行前筛选最后一条 HumanMessage,并在代理运行后筛选最后一条 AIMessage。此中间件使用 Azure AI 内容安全有害内容检测,还可以检查在您的资源中配置的自定义黑名单。
文本审核适用于以下情况:
- 在模型调用前阻止有害的用户输入
- 在模型输出到达最终用户前进行筛选
- 在受监管或企业部署中强制执行自定义黑名单
- 使用不同的类别和方向设置组合多个审核流程
配置选项
配置选项
list[str] | None
要分析的有害内容类别。有效值为
'Hate'、'SelfHarm'、'Sexual' 和 'Violence'。默认为所有四个类别。int
default:"4"
触发配置行为的最低严重性分数,范围从
0 到 6。string
default:"error"
'error'、'continue' 或 'replace' 之一。bool
default:"True"
是否在代理运行前筛选最后一条
HumanMessage。bool
default:"True"
是否在代理运行后筛选最后一条
AIMessage。list[str] | None
在 Azure 内容安全资源中配置的自定义黑名单名称。
Callable | None
可选的可调用对象,用于从代理状态和运行时中提取要筛选的文本。
图像审核
当您的代理处理视觉内容时,使用AzureContentModerationForImagesMiddleware。它从最新的输入或输出消息中提取图像,并使用 Azure AI 内容安全图像分析 API 进行筛选。
此中间件支持:
- Base64 数据 URL,例如
data:image/png;base64,... - 公共 HTTP(S) 图像 URL
配置选项
配置选项
提示防护
使用AzurePromptShieldMiddleware 检测用户提示和可选支持文档中的提示注入。默认情况下,它仅筛选输入,因为提示注入通常是输入端攻击,但您也可以启用输出筛选。
配置选项
配置选项
受保护材料
使用AzureProtectedMaterialMiddleware 检测受保护内容,例如受版权保护的文本或代码。此中间件可以筛选最新的用户输入和最新的模型输出。
配置选项
配置选项
事实依据
使用AzureGroundednessMiddleware 评估模型响应是否基于代理可用的上下文。与本页上的其他中间件类不同,事实依据在模型生成后运行,并根据支持来源检查生成的答案。
默认情况下,事实依据从当前对话中收集来源,包括系统内容、工具输出以及附加到模型响应的相关注释。
配置选项
配置选项
API 参考
有关完整的公共 API,请参阅langchain_azure_ai.agents.middleware 中的中间件导出,以及 langchain_azure_ai.agents.middleware.content_safety 中的基础内容安全中间件包。
将这些文档连接到 Claude、VSCode 等,通过 MCP 获取实时答案。

