Skip to main content
content_safety 在模型与工具调用前后向内容审查服务发送文本,按服务返回的拦截决策替换内容或阻止工具执行。适用于需要接入已有内容策略的智能体应用
本能力会把用户文本、模型回复和工具数据发送到配置的审查端点。VeADK 1.1.13 在 HTTP 非 200、超时或部分请求错误时记录日志并继续执行;这类失败不等于内容通过审查。需要审查失败即阻断的业务,应另外实施强制访问控制和错误处理

功能说明

对应工具标识 content_safety。 content_safety 是 VeADK 基于智能体插件机制提供的内容安全护栏工具:它挂到智能体执行流程的回调上,借助火山大模型应用防火墙对各阶段内容做合规审查,拦截不安全的输入与输出。 目前已生效的审计点:
  • Before Model Callback——发送给模型前审查用户输入
  • After Model Callback——审查模型输出
  • Before Tool Callback——工具调用前审查入参
  • After Tool Callback——审查工具返回
content_safety 基于火山大模型应用防火墙的多种内容安全策略,对不同类型的风险内容进行检测和拦截。风险内容的一级分类如下: 其中:
  • 通用话题控制策略在添加资产时不会默认配置,需要添加后自行配置话题控制防护策略;
  • 算力消耗策略并非单次触发即生效:当系统监测到相似攻击向量并伴随高算力输出的行为模式时,才会对该类输入请求进行拦截。

环境变量与前提

使用前先购买实例、添加资产并获取 AppID,再通过环境变量或 config.yaml 配置访问信息。content_safety 在初始化时读取以下配置项。AppID 必须在导入前配置,缺失时无法完成初始化。 在 config.yaml 中配置:
config.yaml
VeADK 启动时加载 config.yaml 中的区域配置。也可在启动 Python 前通过环境变量设置,环境变量优先:
已通过环境变量设置的值优先于 config.yaml 中的同名配置项。

端点与鉴权

content_safety 支持两种内容审查端点,按 TOOL_LLM_SHIELD_URL 自动选择。

默认防火墙端点

当 TOOL_LLM_SHIELD_URL 的路径不包含 /OpenTOP/V1/Lumen/Moderate 时使用此端点(即不设置 url 时的默认行为)。请求发送到 <url>/v2/moderate,鉴权方式按以下顺序选择:
  • 配置了 TOOL_LLM_SHIELD_API_KEY 时,使用 API Key 鉴权(请求头携带 x-api-key)。
  • 未配置 API Key 时,使用火山引擎 AK/SK 鉴权:优先读取环境变量 VOLCENGINE_ACCESS_KEY 与 VOLCENGINE_SECRET_KEY;若两者缺失,则从运行环境的 IAM 角色获取临时凭证。请求头携带服务区域与服务标识。
当 CLOUD_PROVIDER=byteplus 时,全局配置可将 BytePlus AK/SK 映射到上述凭据配置。仍须确认目标审查服务接受该账号凭据;模型使用 BytePlus 不代表审查服务的端点、区域与权限已完成配置

Lumen Moderate 端点

当 TOOL_LLM_SHIELD_URL 的路径包含 /OpenTOP/V1/Lumen/Moderate 时使用此端点。请求直接发送到所配置的完整地址,以 AppID 作为端点标识、API Key 作为端点密钥进行鉴权。
使用 Lumen Moderate 端点前必须配置 TOOL_LLM_SHIELD_API_KEY,否则请求将因缺少有效密钥而失败。
与默认端点相比,Lumen Moderate 端点在工具调用审查时会附带当前会话标识与调用标识,便于在审计侧关联同一会话内的多次审查。模型输入审查、模型输出审查与工具入参、工具返回审查分别在对应回调点发起请求,拦截行为与默认端点一致。

使用方法

把 content_safety 的回调挂到智能体上,即可对执行过程进行审计:
切换到 Lumen Moderate 端点时,在环境变量或 config.yaml 中指定对应的访问地址与 API Key 即可,调用方式不变:
config.yaml

检查审查效果

在导入 content_safety 前完成配置,并通过环境变量 TOOL_LLM_SHIELD_API_KEY 提供密钥。保存示例后执行 python app.py:普通输入应获得回复;用已在防火墙策略中配置的测试文本验证拦截,并同时检查审查服务的记录。不能仅凭固定示例句子保证命中某项策略 模型输入审查检查当前请求最后一条用户内容的首个文本部分,模型输出审查检查首个文本部分;不会自动审查全部历史、图片、音频或所有多部分内容。工具回调审查序列化的参数与结果。默认请求超时为 50 秒

调整请求超时

在前述示例中,用以下配置片段替换 content_safety 的导入,保留同样的四个回调配置:
最后修改于 2026年9月19日