基础 URL 和认证
使用提供的 base URL 和有效的 API 密钥连接您的客户端。端点是 https://api.qwencodeapikey.com/v1. 您必须在 Authorization 每次请求的请求头。这确保服务能正确识别您的预付费额度账户。
curl https://api.qwencodeapikey.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Check my api key validity status"}]
}'
您可以在注册页面通过 Google 或电子邮件生成密钥。密钥会立即显示。请妥善保管,因为它控制您的支出。
聊天完成端点
发送至 /v1/chat/completions 用于获取文本响应的端点。这是大多数 OpenAI SDK 的标准接口。您定义 model 作为 uncensored 并在 messages 数组。API 处理你的输入并返回生成的补全内容。
from openai import OpenAI
client = OpenAI(base_url="https://api.qwencodeapikey.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)
确保您的客户端库指向正确的基础 URL。模型 ID uncensored 触发经过微调、拒绝率较低的开放权重模型。它像其他聊天 API 一样处理对话轮次。
模型端点
查询 GET /v1/models 验证可用模型及其详细信息。此端点返回您的密钥可访问的模型列表。它帮助您确认 uncensored 模型处于活跃状态,可接受请求。在发送完整负载之前,请使用此功能调试客户端配置。
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.qwencodeapikey.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);
检查响应结构,以确保您的 SDK 能正确解析模型列表。此端点不消耗信用额度,因此适合用于初始化检查。
请求参数与流式传输
支持标准参数,例如 temperature, top_p, stop,以及 seed. 通过设置启用流式传输。 stream: trueAPI 通过服务器发送事件(SSE)发送令牌。令牌使用统计信息出现在流的最后一个数据块中。这允许实时显示生成的文本。
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)
设置 max_tokens 用于控制输出长度。默认值为 2,048 个 token。您可以将此值增加到每个请求 16,000 个 token。调整参数以平衡响应中的创造力和精确度。
速率限制与约束
每个密钥允许每分钟 300 次请求和 8 个并发请求。最大请求正文大小为 8 MB。这些限制可防止滥用并确保稳定的性能。如果超出速率,您将收到 429 错误。调整您的客户端逻辑,以指数退避方式处理重试。
上下文窗口支持总计 100,000 个 token。这包括提示词和补全。大上下文需要仔细管理 token 以保持在限制范围内。
JSON 模式与函数调用
使用 response_format: {"type": "json_object"} 用于结构化输出。这确保模型返回有效的 JSON,便于程序化集成。通过 tools 参数中定义工具,采用标准的 OpenAI 格式。模型将根据需要调用函数。
错误和拒绝不消耗信用额。即使模型因硬性内容限制拒绝请求,此规则也适用。您只为实际的令牌用量付费。信用额永不过期,因此您可以在方便时充值。
错误处理和使用
优雅处理 HTTP 错误。401 错误表示密钥无效或已过期。402 错误表示预存余额已耗尽。429 错误表示超出速率限制。检查响应体以获取详细的错误消息。
按密钥跟踪使用情况。每个账户一个活动密钥简化了计费。如果您犯了错误,例如重复收费,请使用支持页面。余额不会退还,但保持有效。错误是免费的,因此失败的请求不会消耗您的余额。
摘要与最佳实践
以基础 URL 和有效密钥开始。使用 uncensored 用于减少拒绝的模型 ID。流式传输响应以获得更好的用户体验。监控速率限制以避免中断。使用 JSON 模式获取结构化数据。处理错误以保持可靠性。信用额度预付费且永不过期。需要时通过加密货币充值。此 API 可无缝集成到现有的 OpenAI 代码库中。无需新的 SDK。只需更改基础 URL 和密钥。