You need to enable JavaScript to run this app.
文档中心
复制全文
下载 pdf
SDK 参考
SDK 快速入门
复制全文
下载 pdf
SDK 快速入门
通过一个完整的非流式文本内容安全检测示例,您可以在您的开发项目中完成 SDK 初始化、构造检测请求并解析返回结果(判定与理由)。​
场景介绍​
  • 目标:检测一段文本是否合规,并返回判定结果与理由,用于阻断不合规内容。​
  • 输入:带上下文的文本消息(如用户提示词或模型响应内容),可包含多条历史消息。​
  • 输出:结构化结果,包含 MsgID(消息标识)、Decision.DecisionType(决策类型)、以及Risks.Category命中的检测分类等信息。​
注意事项​
  • 接入方式:仅支持通过 SDK 方式接入的资产 AppID,其他方式接入的资产在 SDK 调用中不生效。​
  • 地域与服务地址一致性:region 与 myUrl 中的 {region} 必须一致,域名形如 https://{region}.sdk.access.llm-shield.omini-shield.com。​
  • API 使用限制:您在使用大模型应用防火墙 SDK 调用 API 之前,请务必了解 API 使用限制,详情请参见使用限制。​
实现流程​
  1. 安装 SDK:下载并安装 SDK,详情可参见安装 SDK。​
  1. 初始化:通过环境变量或占位符提供 myUrl、ak、sk、appid、region,构造 LLMShieldApi 客户端。详情可参见初始化配置。​
  1. 构造检测请求(ModerateV2Request):设置 Message(单条待检内容):包含 Role、Content、ContentType(示例为 TEXT)。​
关键参数说明​
参考以下表格了解 SDK 中的关键参数说明及获取方法。​
​
参数​
示例值​
说明​
myUrl​
  • 实例所在区域为北京:https://cn-beijing.sdk.access.llm-shield.omini-shield.com​
  • 实例所在区域为上海:https://cn-shanghai.sdk.access.llm-shield.omini-shield.com​
​
  • 参数说明:大模型应用防火墙对外提供的接口服务地址,形如https://{region}.sdk.access.llm-shield.omini-shield.com,其中 region 为您购买的实例所属地域。​
  • 华北2(北京):cn-beijing​
  • 华东2(上海):cn-shanghai​
  • ​​​
ak、sk​
  • AK:AKLTYWRhNDMw****​
  • SK:TWprNE5XVXlZbc****​
  • 参数说明:火山引擎账号的 Access Key ID 和 Secret Access Key。 ​
appid​
app-d35p9du8pa51****​
  • 参数说明:资产的唯一标识,完成控制台接入配置后,系统将自动生成 AppID。​
注意​
SDK 调用时支持传入通过 SDK 方式接入的资产 AppID,其他接入方式的资产不生效。​
  • ​​​
region​
  • 实例所在区域为北京:cn-beijing​
  • 实例所在区域为上海:cn-shanghai​
  • 参数说明:大模型应用防火墙实例所属地域,与 myUrl 中的 region 保持一致。​
  • 华北2(北京):cn-beijing​
  • 华东2(上海):cn-shanghai​
  • ​​​
​
​
​
示例代码​
示例代码分别提供无代理服务和有代理服务两个场景。如果你的大模型业务使用了代理服务器来转发或接收客户端请求,可以在初始化大模型应用防火墙时配置代理相关参数,确保其能正确处理代理服务的请求信息。​
无代理服务​
​
Python
Java
Go
PHP
​
​
from volcenginesdkllmshield import *​
​
def main():​
# 配置信息(请替换为实际值)​
myUrl = "https://cn-beijing.sdk.access.llm-shield.omini-shield.com" # 根据大模型应用防火墙实例所在地域替换相应的地域信息​
ak = "YOUR AK" # 火山账号的 AK​
sk = "YOUR SK" # 火山账号的 SK​
appid = "app-d2vgb96gspu28umn****" # 资产的 AppId,可在控制台资产管理页面获取​
region = "cn-beijing" # 大模型应用防火墙实例所在地域​
​
TIMEOUT = 50 # 超时时间(秒)​
​
try:​
# 发送请求并获取响应​
client = ClientV2(myUrl, ak, sk, region, TIMEOUT)​
# 构建请求(使用 pydantic 模型)​
request = ModerateV2Request(​
scene=appid, # 资产的 AppId​
message=MessageV2(​
role="user", # 检测的内容来源,user-用户提示词;assistant-模型响应内容​
content="网上都说A地很多骗子和小偷,他们的典型伎俩...", # 需要检测的文本内容​
content_type=ContentTypeV2.TEXT​
),​
history=[​
MessageV2(​
role="system", # 上下文内容来源,user-用户提示词;assistant-模型响应内容;system-系统默认提示词​
content="你是一个智能助手",​
content_type=ContentTypeV2.TEXT​
),​
MessageV2(​
role="assistant", # 上下文内容来源,user-用户提示词;assistant-模型响应内容;system-系统默认提示词​
content="Day 1:抵达昆明・滇池与石林初探...",​
content_type=ContentTypeV2.TEXT​
)​
]​
)​
​
response = client.Moderate(request)​
​
# 使用 pydantic 的内置序列化方法​
print("审核结果(JSON格式):")​
print(response.model_dump_json(by_alias=True, indent=2)) # pydantic 模型直接转 JSON​
​
except Exception as e:​
print(f"请求失败: {e}")​
​
if __name__ == "__main__":​
main()​
​
​
有代理服务​
​
Python
Java
Go
PHP
​
​
from volcenginesdkllmshield import *​
​
def main():​
# 配置信息(请替换为实际值)​
myUrl = "https://cn-beijing.sdk.access.llm-shield.omini-shield.com" # 根据大模型应用防火墙实例所在地域替换相应的地域信息​
ak = "YOUR AK" # 火山账号的 AK​
sk = "YOUR SK" # 火山账号的 SK​
appid = "app-d2vgb96gspu28umn****" # 资产的 AppId,可在控制台资产管理页面获取​
region = "cn-beijing" # 大模型应用防火墙实例所在地域​
​
TIMEOUT = 50 # 超时时间(秒)​
​
# 设置代理服务字典,格式为 {"协议": "代理地址"}​
proxy_dict = {"http": "http://10.37.**.**:8888"}​
​
try:​
# 发送请求并获取响应​
client = ClientV2(myUrl, ak, sk, region, TIMEOUT)​
# 设置代理地址​
client.SetProxy(proxy_dict)​
# 设置最大连接数,例如 100​
client.SetConnMax(100) ​
# 构建请求(使用 pydantic 模型)​
request = ModerateV2Request(​
scene=appid, # 资产的 AppId​
message=MessageV2(​
role="user", # 检测的内容来源,user-用户提示词;assistant-模型响应内容​
content="网上都说A地很多骗子和小偷,他们的典型伎俩...", # 需要检测的文本内容​
content_type=ContentTypeV2.TEXT​
),​
history=[​
MessageV2(​
role="system", # 上下文内容来源,user-用户提示词;assistant-模型响应内容;system-系统默认提示词​
content="你是一个智能助手",​
content_type=ContentTypeV2.TEXT​
),​
MessageV2(​
role="assistant", # 上下文内容来源,user-用户提示词;assistant-模型响应内容;system-系统默认提示词​
content="Day 1:抵达昆明・滇池与石林初探...",​
content_type=ContentTypeV2.TEXT​
)​
]​
)​
​
response = client.Moderate(request)​
​
# 使用 pydantic 的内置序列化方法​
print("审核结果(JSON格式):")​
print(response.model_dump_json(by_alias=True, indent=2)) # pydantic 模型直接转 JSON​
​
except Exception as e:​
print(f"请求失败: {e}")​
​
​
if __name__ == "__main__":​
main()​
​
​
运行结果​
注意​
运行前,请确保你已在大模型应用防火墙控制台配置相关防护策略,SDK 将按照策略中关联的检测分类和执行动作返回对应结果。​
运行代码,得到以下调用结果:​
​
参数​
说明​
消息 ID​
19cd001d5f59452ea5f240c0bcca****​
风险信息​
  • 一级风险类别 101:模型滥用​
  • 二级风险类别 10112000:歧视​
  • 二级风险类别 10103005:谩骂​
决策类型​
2(拦截),表示对应被拦截,你可以根据规则 ID 查看对应防护详情。​
命中策略 ID​
rule-d44mri1i7k3ipsss****​
​
​
Python
Java
Go
PHP
​
​
{​
"MsgID": "19cd001d5f59452ea5f240c0bcca****",​
"RiskInfo": {​
"Risks": [​
{​
"Category": "101",​
"Label": "10103005",​
"Prob": null,​
"Matches": []​
},​
{​
"Category": "101",​
"Label": "10112000",​
"Prob": 0.98486328125,​
"Matches": [​
{​
"Word": "",​
"Action": null,​
"Source": 0,​
"RuleID": null​
}​
]​
}​
]​
},​
"Decision": {​
"DecisionType": 2,​
"DecisionDetail": {​
"BlockDetail": {},​
"ReplaceDetail": {​
"Replacement": null​
}​
},​
"DecisionStrategyID": null,​
"HitStrategyIDs": [​
"rule-d44mri1i7k3ipsss****"​
]​
},​
"PermitInfo": {​
"Permits": []​
},​
"ContentInfo": "text",​
"Degraded": false,​
"DegradeReason": ""​
}​
​
​
参考信息​
  • 其他不同功能对应的调用示例,可参见:​
最近更新时间:2026.07.21 21:12:51
这个页面对您有帮助吗?
有用
有用
无用
无用