跳到文章正文
Grok 实用教程

Grok新内容控制怎么接入?guidelines参数、逐轮生效与400/422排查

按xAI最新更新配置guidelines,在Responses请求中控制粗口、露骨暴力等类别,保…

给面向公众的问答产品接入Grok时,开发者可能希望回答避免粗口或露骨暴力,同时正常解释历史和教育问题。xAI最新十月更新列出Custom moderation controls,可以在文本API请求中传guidelines。本教程用一段温和的骑士故事测试参数,讲清它何时生效与哪些请求会报错,不把配置当成固定词库过滤器。

第一步:确认接口和内容类别

官方支持Chat Completions、Responses以及xAI Python SDK的chat.create。这里使用grok-4.7与Responses,需要独立的API密钥及可用调用权限。第三方聊天页面是否暴露同样参数要看平台实际能力,不能把API示例直接等同于某个聊天会员附带功能。

每条规则有type、category和behavior三个字段,type必须是policy,当前behavior仅有decline。类别包括nsfw、violence、profanity。未列出的类别沿用模型默认行为;省略规则不是关闭默认保护,也没有文档依据支持自行创造allow等值。

第二步:根据需求添加增强规则

官方说明nsfw的decline避免性暗示或性化聊天,但仍可回答教育及临床问题;violence避免露骨暴力描写,仍能以不含露骨细节的方式讨论历史与新闻;profanity使回答不使用粗口,并对只要求粗口或高度冒犯的请求作拒绝处理。不要把这些类别设成所有相关关键词都不能出现。

import os
from openai import OpenAI

client = OpenAI(api_key=os.environ["XAI_API_KEY"], base_url="https://api.x.ai/v1")
guidelines = [
    {"type": "policy", "category": "violence", "behavior": "decline"},
    {"type": "policy", "category": "profanity", "behavior": "decline"},
]
response = client.responses.create(
    model="grok-4.7",
    input="请写一段骑士通过谈判解决争端的短故事,适合课堂阅读。",
    extra_body={"guidelines": guidelines},
)
print(response.output_text)

OpenAI Python SDK没有原生定义guidelines,按官方示例通过extra_body传入。Chat Completions则将同一个数组放在请求体顶层,与messages同级。先用最小请求验证,不混进旧项目的其他参数;运行示例会产生API用量,本教程没有执行付费调用。

第三步:每一轮都发送规则

guidelines仅作用于带有它的那一次请求。自己管理多轮对话时,每一轮都要发送;不能首轮配置后只传previous_response_id,就假定后面规则始终存在。xAI原生Python SDK在chat.create保存规则,后续sample会发送,但其他封装需要检查实际请求。

响应结构与不带规则时相同,模型用自己的措辞执行行为,并非必定返回一个统一的“已过滤”字段。应用应检查最终文字和响应完成状态,不要依赖某句固定拒绝语判断。将策略配置放在服务端受控位置,避免普通用户改写你准备维持的设置。

第四步:按状态码定位配置错误

未知category或behavior返回422;同一类别重复、type不是policy等返回400。官方目前不支持multi-agent模型和deferred completions使用guidelines。没有服务端工具也没有文件附件的请求,设置stop或n大于1时也不能使用,会在模型运行前被拒绝;先读取具体错误字段再修正。

第五步:同时验证正常内容是否保留

准备三组样例:普通故事、无需露骨细节的历史解释、要求不恰当表达的请求。为每组写清预期行为,检查是否既避免不需要的内容,也没有把正常问题全部拒绝。重复少量样本观察一致性,记录模型、规则和日期,不编造百分之百的拦截效果。

最终保留配置与评估记录,模型或平台规则更新后重新检查关键场景。guidelines增强特定类别的回答方式,不替代你对受众、产品展示和用户反馈的管理。完成标准是请求合法、每轮规则存在、错误可定位、正常问题可回答,且输出确实符合自己的产品要求。

官方说明这些规则会先经过API检查,无法应用时请求直接返回错误,不进入模型生成。遇到这类错误应修改配置,不要把它作为一次生成失败不断重试并堆积队列。

官方资料

资料核对日期:2026年10月30日。

本文地址:https://www.163264.com/18516