高级 API 用法
自定义内容审核规则
在请求中添加 guidelines 数组,即可指定 Grok 如何进一步处理特定类别的内容。你可以为列出的每个类别指定更严格的处理方式。目前唯一支持的行为是 decline。未列出的类别沿用模型的默认审核行为。
Grok 在生成回答时遵循这些规则,并用自己的话作答。响应结构与未设置规则时相同。
类别与行为
在 guidelines 中,每一项都有三个字段:type,其值始终为 "policy";内容类别 category;以及该类别的处理行为 behavior。
| 类别 | 行为 | Grok 的处理方式 |
|---|---|---|
nsfw | decline | 避免性暗示和带有性意味的对话。仍会回答关于性话题的教育和临床问题。 |
violence | decline | 避免描写血腥暴力场景。可以讨论历史和新闻,但会省去血腥细节。 |
profanity | decline | 回答时不使用粗俗语言。如果请求只是要求说脏话,或请求本身极具冒犯性,Grok 会拒绝作答。 |
上表概述了各种行为。SpaceXSI 可能会进一步调整具体规则。
未列出的类别沿用模型的默认行为,因此只需列出想要调整的类别。
为请求设置规则
以下请求将 violence 和 nsfw 设为 decline。
import os
from openai import OpenAI
client = OpenAI(
api_key=os.getenv("XAI_API_KEY"),
base_url="https://api.x.ai/v1",
)
response = client.responses.create(
model="grok-4.7",
input="Write a short story about a knight.",
extra_body={
"guidelines": [
{"type": "policy", "category": "violence", "behavior": "decline"},
{"type": "policy", "category": "nsfw", "behavior": "decline"},
],
},
)
print(response.output_text)OpenAI SDK 未定义 guidelines。使用 OpenAI Python SDK 时,通过 extra_body 传入。OpenAI JavaScript SDK 会将其与其他请求参数一起发送。使用 Chat Completions 时,将同样的 guidelines 数组作为请求体的顶层字段,与其同级的字段还有 messages。
规则仅对携带它们的请求生效。要对整个对话应用规则,请在每次请求中发送。在 xAI Python SDK 中,chat.create 会将规则保存在对话中,因此每次调用 sample 都会发送这些规则。
无法使用规则的请求
目前,多 Agent 模型(例如 grok-4.20-multi-agent)和延迟完成请求均不支持这些规则。如果请求既未使用服务端工具,也未附加文件,则在设置 stop 或将 n 设为大于 1 时也无法使用规则。API 会在模型运行前拒绝这些请求,返回 400。错误消息会指出涉及的模型或选项。
错误
API 会在运行模型前检查 guidelines。如果无法应用规则,API 会返回错误,模型不会运行。
| 状态码 | 原因 |
|---|---|
422 | 字段 category 或 behavior 的值无法识别。错误消息会列出有效值。 |
400 | 同一类别出现多次。 |
400 | 字段 type 的值不是 "policy"。 |
400 | 此请求不支持规则,详见无法使用规则的请求。错误消息会指出涉及的模型或选项。 |
在 xAI Python SDK 中,如果类别或行为未知,会引发 ValueError 异常,请求不会发出。对于其他错误,API 会返回 gRPC INVALID_ARGUMENT 状态。
支持的 API
guidelines 可用于 Chat Completions 和 Responses API,也可通过 chat.create 在 xAI Python SDK 中使用。
最后更新:2026 年 10 月 27 日