Grok 放荡模式示例:提示词与 API 调用
寻找 Grok 放荡模式示例?下面有五个可运行的请求,可在无审查模型上重现松散、直白、不啰嗦的风格,并附带精确代码及预期结果。

要点
- 放荡风格来自系统提示词;模型本身不会拒绝合法的成人请求。
- 五个示例涵盖人设、小说、JSON 模式、工具调用和流式输出。
- 输出在不同运行间会有差异,因此比较提示词时请固定 seed。
- 一次运行包含 400 个输入 token 和 600 个输出 token 的成本为 $0.00036。
“疯癫”标签的含义,以及与此的不同之处
“疯癫”已成为 xAI 旗下 Grok 聊天产品的一种对话风格的昵称:不拘礼节、讽刺、喜欢爆粗、在给出答案前不愿说教。如果你想在应用中实现类似 Grok 的“疯癫”模式,关键问题在于你能通过 API 重现该风格的哪些部分。
实际上全部都可以,因为风格主要取决于指令。本网站运行一个开放权重模型,由独立提供商托管,并经过调整,使其在合法成人用途下不进行内容拒绝。它不是 Grok API,也与 xAI 无关。你获得的是没有拒绝生成以及通过系统消息自行设定语气的自由。
关于诚实的说明:下面的示例展示了你发送请求的准确方式,并描述了预期的响应类型。生成的文本每次运行都会有所不同,因此我不会粘贴单个样本并称之为典型。使用你自己的密钥运行每个示例并查看结果。试用额度涵盖这些运行。
每个示例都使用相同的三个设置部分:Base URL https://api.unhingedgrok.com/v1、Authorization 头中的 Bearer 密钥以及模型 ID uncensored。如果你能发送其中一个,你就能发送全部五个,任何 OpenAI 兼容客户端都会接受相同的值。选择你已使用的语言并跳过其他语言。
示例 1:直率的评论者人设
最简单的测试是更改态度的系统提示词,除此之外无其他操作。请求要求对某个功能提供反馈,并指示人设直接了当,而非单纯为了粗鲁而粗鲁。
curl https://api.unhingedgrok.com/v1/chat/completions \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"temperature": 0.9,
"messages": [
{"role": "system", "content": "You are a grumpy senior engineer. Say what is wrong in plain words, no compliments, no hedging, at most 120 words."},
{"role": "user", "content": "Review: def avg(xs): return sum(xs)/len(xs)"}
]
}'预期会得到简短且带有观点的回答,指出空列表除法问题,并可能对缺少类型提示表示抱怨。没有系统消息时,同样的问题通常会返回平衡、友好的评论。这两个回复之间的差距就是整个“模式”。
示例 2:暗黑小说场景
在其他服务上,拒绝生成最让人头疼。惊悚小说作家需要一个令人毛骨悚然的反派,包含威胁的场景应该读起来像真正的威胁。确保内容涉及成年角色和合法的虚构作品。
from openai import OpenAI
client = OpenAI(base_url="https://api.unhingedgrok.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
temperature=0.95,
frequency_penalty=0.4,
seed=42,
messages=[
{"role": "system", "content": "You write adult crime fiction in a cold, precise voice. No disclaimers, no moralising. All characters are adults."},
{"role": "user", "content": "Scene: a loan shark visits a bakery owner who is three weeks late. Under 300 words, ending on the owner's decision."},
],
)
print(resp.choices[0].message.content)关注点:通过对话和细节营造张力,结尾没有段落解释恐吓是错误的,以及尊重你要求的结局。如果语气太平淡,提高 temperature。如果重复短语,提高 frequency_penalty。设置 seed 允许你重新运行完全相同的请求,并在编辑提示词的一行后进行比较。
示例 3:用于角色和游戏数据的 JSON 模式
过滤较少并不意味着结构较少。JSON 模式使用相同的模型,使其非常适合生成你的游戏代码可以解析的 NPC、任务钩子或对话树。
curl https://api.unhingedgrok.com/v1/chat/completions \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"response_format": {"type": "json_object"},
"messages": [
{"role": "system", "content": "Return only JSON with keys name, age, secret, catchphrase. Characters are adults."},
{"role": "user", "content": "Create a corrupt harbour inspector for a noir game."}
]
}'在提示词中提到 JSON 这个词和键,如上所述;这是获得所需结构的可靠方法。无论如何都在 try 块内解析结果。截断的回复通常是解析错误的原因,因此在责怪模型之前检查 finish_reason。
示例 4:用于游戏主持人的工具调用
一个会捏造掷骰子结果的跑团旁白很容易被发现作弊。给它一个工具,让你的代码来掷骰。工具调用遵循 OpenAI 格式:tools、tool_choice,以及以 role 为 tool 的消息形式返回结果。
import json, random
from openai import OpenAI
client = OpenAI(base_url="https://api.unhingedgrok.com/v1", api_key="YOUR_KEY")
tools = [{
"type": "function",
"function": {
"name": "roll_dice",
"description": "Roll a die with the given number of sides",
"parameters": {
"type": "object",
"properties": {"sides": {"type": "integer"}},
"required": ["sides"],
},
},
}]
messages = [
{"role": "system", "content": "You are a ruthless game master. Use roll_dice for any risky action and narrate the result."},
{"role": "user", "content": "I try to pick the lock on the warlord's strongbox."},
]
first = client.chat.completions.create(model="uncensored", messages=messages, tools=tools)
call = first.choices[0].message.tool_calls[0]
sides = json.loads(call.function.arguments)["sides"]
messages.append(first.choices[0].message)
messages.append({"role": "tool", "tool_call_id": call.id, "content": str(random.randint(1, sides))})
final = client.chat.completions.create(model="uncensored", messages=messages, tools=tools)
print(final.choices[0].message.content)在生产环境中,在索引之前检查 tool_calls 是否存在。模型可能会决定开锁不需要掷骰子,特别是在低 temperature 下。
示例 5:流式输出正在生成的回复
当文本逐字出现时,聊天应用体验更好。将 stream 设置为 true 并读取 SSE 块;使用情况在最后到达。
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.unhingedgrok.com/v1",
apiKey: process.env.API_KEY,
});
const stream = await client.chat.completions.create({
model: "uncensored",
stream: true,
messages: [
{ role: "system", content: "You are a deadpan late-night host. Two paragraphs, dry humour." },
{ role: "user", content: "Roast my plan to rewrite the whole app over a weekend." },
],
});
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
}流式请求会占用其并发槽位直到流结束。在具有 2 个并发请求限制的试用密钥上,两个打开的流意味着第三个调用返回 429 且代码为 concurrency。关闭你不再读取的流。
基础功能正常后调整语气
第一次运行后,大部分工作都在于小调整。相同的五个请求可以在不更改模型或接口的情况下推向非常不同的方向。
对系统消息进行 A/B 测试
使用相同的 seed 发送两次用户消息,一次没有系统消息,一次使用你的人设。由于 seed 固定,两个回复之间的差异来自系统消息而非采样运气。在编写长提示词之前这样做,并在每次编辑后再次这样做。如果提示词中的句子不改变输出,请删除它并节省输入 token。
描述态度,而非标签
“疯癫”这个词告诉模型的信息很少。像“你先回答问题,然后加一个诚实、略带粗鲁的观察”这样的行让它有东西可执行。讽刺也是如此:指明目标(计划、代码、情况),以便笑话落在除了用户以外的东西上。
在松散模式旁边保留普通模式
大多数应用都需要两者。聊天功能可能想要戏谑的语气,而编写订单摘要或错误消息的部分需要中性语气。在代码中保留两个系统提示词,并为每次调用选择一个。模型 ID 和接口保持不变,因此切换成本为零。
注意长度
松散的人设会漫无边际。在提示词中指定词数范围,例如“少于 150 词”,你会看到更短、更有力且输出账单更小的回复。输出 token 的成本高于输入 token,价格为每 1M token $0.50,而输入为 $0.15,因此缩短回复是最便宜的节省方式。
低成本运行示例及限制条件
每个示例都很小。假设一次运行发送 400 个输入 token 并返回 600 个。输入成本为 400 x $0.15 / 1,000,000 = $0.00006,输出成本为 600 x $0.50 / 1,000,000 = $0.0003,因此该次运行成本为 $0.00036。$0.50 的试用额度足以支付超过一千次此类运行,但 7 天窗口和 2 个请求的并发上限才是真正的限制。详细信息请参阅 定价页面。
首先,创建你的 API 密钥 并遵循 快速入门 进行客户端设置。较大充值的支付仅限加密货币,即 TRC20 上的 USDT 或 Base 上的 USDC。
每个示例都适用两个边界。模型仅支持文本,因此不支持图像、音频或嵌入。涉及未成年人的性内容永远不允许。这里的一切都是关于成人小说和合法用途,这也是无拒绝模型发挥价值的地方。
更多指南
问答
这等同于 Grok 的放荡模式吗?
不。Grok 是 xAI 的产品。这是一个独立 API,提供单一开放权重模型;你可以通过系统提示词重现该风格。
我会得到与示例相同的输出吗?
除非固定 seed,否则两次运行不会相同。将每个示例视为你自己的运行请求,然后评估回复。
模型能拒绝请求吗?
该模型经过调整,可在合法成人用途中无拒绝地回答。失败或拒绝的请求不会扣费。
我应该使用哪个客户端进行测试?
任何兼容 OpenAI 的客户端均可:OpenAI Python 或 Node SDK、curl、SillyTavern 或 Open WebUI。设置 Base URL、API 密钥和模型 ID uncensored。
只差一张表单,即可获得密钥
创建账户,复制密钥,更改基础 URL。这就是全部设置。