API 快速入门:将您的客户端连接到我们的无审查模型
本快速入门指南展示了如何将 OpenAI 兼容客户端指向我们的无限制文本模型。您需要一个基础 URL、一个模型 id 和您的密钥。
认证和基础 URL
每个请求都发送至 https://doesgrokhaveanapi.com/v1 并将您的密钥携带在 Authorization 作为承载令牌的头信息。从“获取 API 密钥”页面复制密钥;您在注册后会看到该密钥,并且可以随时更换。
简短直接:将现有客户端迁移时,仅基础 URL 和密钥这两个值会发生变化。
curl https://api.doesgrokhaveanapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "What is the current API endpoint for the model?"}]
}'
Chat Completions 端点
发送 POST /v1/chat/completions 带有一系列消息。响应与 OpenAI 聊天补全响应的结构相同,因此现有的解析器可以继续正常工作。
- 使用角色
user用于您的提示词,以及system获取说明。 - 从以下来源获取答案
choices[0].message.content. - Token 计数返回在
usage,并且您的信用额度将据此扣费。
from openai import OpenAI
client = OpenAI(base_url="https://api.doesgrokhaveanapi.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)
支持的模型:'uncensored'
将 model 字段设置为 uncensored。这是服务中唯一的模型 id,因此无需选择。 GET /v1/models 返回它,这是确认密钥有效的快速方法。
该模型是一个开放权重模型,运行在我们自己的服务器上。它不会拒绝合法的成人、虚构或争议性请求。唯一的硬性限制是涉及未成年人的性内容。
流式传输与函数调用
添加 stream: true 以服务器发送事件的形式接收令牌。最后一个块包含使用数据,因此您可以在不发起第二次调用的情况下记录每次请求的成本。
函数调用通过标准 tools 和 tool_choice 字段。使用 JSON 模式定义每个函数,并读取 tool_calls 响应的数组中。
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
参数:Temperature、Top P 和 Stop
支持的采样参数包括 temperature, top_p, stop, seed, presence_penalty 和 frequency_penalty。对于代码和提取任务,请使用较低的温度;对于小说创作,请使用较高的温度。
如果您未设置 max_tokens,默认输出限制为 2,048 个令牌。每次请求的硬性最大值为 16,000 个令牌。
JSON 模式与响应格式
设置 response_format 到 { 'type': 'json_object' } 当您需要进行机器可读的输出时。在提示词中要求 JSON 格式,因为模型会同时遵循指令和格式。
- 在系统消息中描述您需要的字段。
- 保持示例简短,包含两三个键即可。
- 在存储结果之前,请在代码中验证结果。
速率限制与错误处理
每个密钥每分钟可发送 300 个请求,同时最多 8 个请求。正文超过 8 MB 的请求将被拒绝。401 表示密钥错误,402 表示余额不足,429 表示达到速率限制:请等待并使用退避策略重试。
错误和拒绝不会收费。请注意 100,000 个 token 的上下文窗口适用于长对话:提示和完成部分的 token 数合计计算。
Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.doesgrokhaveanapi.com/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);常见问题
我应该使用哪个 base URL?
将 https://doesgrokhaveanapi.com/v1 用作基础 URL。任何 OpenAI 兼容的 SDK 在更改基础 URL 和密钥后均可接受,且代码中无需其他更改。
我应该发送哪个 model id?
发送无审查内容。这是服务中唯一的模型。在运行大规模任务前,调用 GET /v1/models 确认 id 并验证您的密钥是否有效。
为什么我的请求返回 402?
402 响应表示账户中的预付信用额度已用完。通过 USDT (TRC20) 或 USDC (Base) 充值,最低 $20,即可使下一次请求成功。失败的请求不会扣费。
您的 API 密钥仅一步之遥
注册,复制您的 Token,更新端点。这就是整个流程。