langchain-azure-ai 包中,并导出自 langchain_azure_ai.agents.middleware。
Azure AI 内容安全中间件目前在上游标记为实验性。随着 Azure AI 内容安全和 LangChain 中间件支持的发展,API 表面预期会发生演变。
概述
功能特性
- 支持有害内容过滤和自定义黑名单的文本审核
- 支持数据 URL 和公共 HTTP(S) 图像输入的图像审核
- 使用 Prompt Shield 进行提示注入检测
- 支持文本和代码的受保护材料检测
- 根据检索上下文对生成答案进行事实性验证
- 自定义
context_extractor钩子以适配智能体状态下的筛查和验证逻辑
安装配置
要使用 Azure AI 内容安全中间件,需安装集成包,配置 Azure AI Foundry 项目端点或 Azure 内容安全端点,并提供凭证。安装
安装包:凭证配置
认证时通过DefaultAzureCredential() 或 API-KEY 字符串通过 credential 参数传递。使用 Foundry 项目需要通过 Microsoft Entra ID 进行认证。
Initialize credential
初始化配置
中间件支持两种端点类型:- 通过
AZURE_CONTENT_SAFETY_ENDPOINT配置的 Azure 内容安全资源端点 - 通过
AZURE_AI_PROJECT_ENDPOINT配置的 Azure AI Foundry 项目端点
project_endpoint 以获得更好的 Azure AI Foundry 工作流默认值。在大多数场景中,可通过设置环境变量一次,省略 endpoint 或 project_endpoint 在每次中间件初始化中。
Configure endpoint
langchain_azure_ai.agents.middleware 导入并配置您的中间件。
Initialize middleware
与智能体集成
将中间件按顺序传递给 @[create_agent]。可与其他 Azure AI 中间件与 内置中间件 组合使用。
Agent with middleware
Azure AI 内容安全
文本审核
通过AzureContentModerationMiddleware 筛查智能体运行前 HumanMessage 的输入,以及智能体运行后 AIMessage 的输出。该中间件使用 Azure AI 内容安全有害检测,并支持在资源中配置的自定义黑名单。
文本审核适用于以下场景:
- 在模型调用前阻止有害用户输入
- 在模型输出到达最终用户前进行筛查
- 在受监管或企业部署中强制执行自定义黑名单
- 通过不同类别和方向的多次审核组合
Configuration options
Configuration options
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
Configuration options
Configuration options
提示词防护
使用AzurePromptShieldMiddleware 检测用户提示词中的注入攻击,并可选地检查支持文档。默认仅审核输入,因为提示词注入通常是输入侧攻击,但您也可以启用输出审核。
Configuration options
Configuration options
受保护内容
使用AzureProtectedMaterialMiddleware 检测受保护内容(如版权文本或代码)。此中间件可审核最新用户输入和模型输出。
Configuration options
Configuration options
基于上下文性
使用AzureGroundednessMiddleware 评估模型响应是否基于智能体可用的上下文。与页面上的其他中间件不同,基于上下文性在模型生成后运行,并检查生成答案与支持来源的关联性。
默认情况下,基于上下文性从当前对话中收集来源,包括系统内容、工具输出和相关注释(附加在模型响应上)。
Configuration options
Configuration options
API 参考
要查看完整的公开API,请参考langchain_azure_ai.agents.middleware中的中间件导出,以及langchain_azure_ai.agents.middleware.content_safety中描述的底层内容安全中间件包。
官方原文:src/oss/python/integrations/middleware/azure_ai.mdx · 非官方翻译,译文由 AI 生成,以英文原文为准。