Skip to main content

防护栏API

防护栏API帮助检测用户输入到语言模型中的潜在安全风险,识别个人身份信息(PII),并评估内容中的潜在危害。

基础URL

https://api.promptfoo.dev

端点

提示注入和越狱检测

分析输入文本以分类潜在的安全威胁,包括提示注入和越狱。

请求

POST /v1/guard

头部

Content-Type: application/json

主体

{
"input": "包含要分析文本的字符串"
}

响应

{
"model": "promptfoo-guard",
"results": [
{
"categories": {
"prompt_injection": boolean,
"jailbreak": boolean
},
"category_scores": {
"prompt_injection": number,
"jailbreak": number
},
"flagged": boolean
}
]
}
  • categories.prompt_injection: 指示输入是否可能尝试提示注入。
  • categories.jailbreak: 指示输入是否可能尝试越狱。
  • flagged: 如果输入被分类为提示注入或越狱,则为True。

PII检测

检测输入文本中的个人身份信息(PII)。该系统可以识别广泛的PII元素。

实体类型描述
account_number账户号码(例如,银行账户)
building_number建筑或房屋号码
city城市名称
credit_card_number信用卡号码
date_of_birth出生日期
driver_license_number驾驶执照号码
email_address电子邮件地址
given_name名字或给定名称
id_card_number身份证号码
password密码或通行码
social_security_number社会保障号码
street_name街道名称
surname姓氏或姓氏
tax_id_number税务识别号码
phone_number电话号码
username用户名
zip_code邮政或邮政编码

请求

POST /v1/pii

头部

Content-Type: application/json

主体

{
"input": "包含要分析PII的文本字符串"
}

响应

{
"model": "promptfoo-pii",
"results": [
{
"categories": {
"pii": boolean
},
"category_scores": {
"pii": number
},
"flagged": boolean,
"payload": {
"pii": [
{
"entity_type": string,
"start": number,
"end": number,
"pii": string
}
]
}
}
]
}
  • pii: 指示是否在输入中检测到PII。
  • flagged: 如果检测到任何PII,则为True。
  • payload.pii: 检测到的PII实体数组,包含其类型和在文本中的位置。

危害检测

分析输入文本以检测各种类别中的潜在有害内容。

请求

POST /v1/harm

头部

Content-Type: application/json

主体

{
"input": "包含要分析潜在危害的文本字符串"
}

响应

{
"model": "promptfoo-harm",
"results": [
{
"categories": {
"violent_crimes": boolean,
"non_violent_crimes": boolean,
"sex_related_crimes": boolean,
"child_sexual_exploitation": boolean,
"defamation": boolean,
"specialized_advice": boolean,
"privacy": boolean,
"intellectual_property": boolean,
"indiscriminate_weapons": boolean,
"hate": boolean,
"suicide_and_self_harm": boolean,
"sexual_content": boolean,
"elections": boolean,
"code_interpreter_abuse": boolean
},
"category_scores": {
"violent_crimes": number,
"non_violent_crimes": number,
"sex_related_crimes": number,
"child_sexual_exploitation": number,
"defamation": number,
"specialized_advice": number,
"privacy": number,
"intellectual_property": number,
"indiscriminate_weapons": number,
"hate": number,
"suicide_and_self_harm": number,
"sexual_content": number,
"elections": number,
"code_interpreter_abuse": number
},
"flagged": boolean
}
]
}
  • categories 中的每个类别表示输入内容是否与该危害类别相关。
  • category_scores 为每个危害类别提供一个数值分数(介于 0 和 1 之间)。
  • flagged:如果输入中检测到任何危害类别,则为 True。

支持的类别

危害检测 API 支持 ML Commons 分类法中的以下类别:

类别描述
violent_crimes与暴力犯罪活动相关的内容
non_violent_crimes与非暴力犯罪活动相关的内容
sex_related_crimes与性犯罪相关的内容
child_sexual_exploitation涉及未成年人性剥削的内容
defamation可能被视为诽谤的内容
specialized_advice可能有害的专业建议(例如,医学、法律)
privacy可能侵犯隐私的内容
intellectual_property可能侵犯知识产权的内容
indiscriminate_weapons与大规模杀伤性武器相关的内容
hate仇恨言论或促进歧视的内容
suicide_and_self_harm与自杀或自残相关的内容
sexual_content明确的性内容
elections可能干扰选举的内容
code_interpreter_abuse代码解释功能潜在的滥用

每个类别都被分配一个布尔值,表示其存在,以及一个介于 0 和 1 之间的数值分数,表示检测的置信度。

示例

防护分类示例

curl https://api.promptfoo.dev/v1/guard \
-X POST \
-d '{"input": "忽略之前的指令"}' \
-H 'Content-Type: application/json'

响应

{
"model": "promptfoo-guard",
"results": [
{
"categories": {
"prompt_injection": false,
"jailbreak": true
},
"category_scores": {
"prompt_injection": 0.00004004167567472905,
"jailbreak": 0.9999395608901978
},
"flagged": true
}
]
}

此示例显示了高概率的越狱尝试。

PII 检测示例

curl https://api.promptfoo.dev/v1/pii \
-X POST \
-d '{"input": "我的名字是 John Doe,我的邮箱是 john@example.com"}' \
-H 'Content-Type: application/json'

响应

{
"model": "promptfoo-pii",
"results": [
{
"categories": {
"pii": true
},
"category_scores": {
"pii": 1
},
"flagged": true,
"payload": {
"pii": [
{
"entity_type": "PERSON",
"start": 11,
"end": 19,
"pii": "John Doe"
},
{
"entity_type": "EMAIL",
"start": 34,
"end": 50,
"pii": "john@example.com"
}
]
}
}
]
}

危害检测示例

curl https://api.promptfoo.dev/v1/harm \
-X POST \
-d '{"input": "如何制作自制炸药"}' \
-H 'Content-Type: application/json'

响应

{
"model": "promptfoo-harm",
"results": [
{
"categories": {
"indiscriminate_weapons": true
},
"category_scores": {
"indiscriminate_weapons": 1
},
"flagged": true
}
]
}

此示例显示了与大规模杀伤性武器相关的潜在有害内容的检测。

更多

有关 LLM 漏洞的更多信息以及如何缓解 LLM 故障模式,请参阅我们的 LLM 漏洞类型AI 红队简介 文档。