前提条件:安装 SDK
为您首选的语言安装官方 SDK,以自动处理身份验证和请求格式化。大多数开发者更喜欢社区维护的、镜像标准 openai 库结构。这确保您的代码与 chat-completions 端点的未来更新保持兼容。
from openai import OpenAI
client = OpenAI(base_url="https://api.openaiapikeypricing.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)import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openaiapikeypricing.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);
设置您的基础 URL
将您的客户端指向我们的特定基础 URL 以通过我们的 uncensored 基础设施路由请求。您必须更新 base_url 参数在您的客户端配置中,然后再发送任何请求。这将告诉 SDK 跳过标准的 OpenAI 服务器,并将流量定向到我们的专用端点。
基础 URL 为: https://api.openaiapikeypricing.com/v1
初始化客户端
使用从仪表板获得的 API 密钥创建您的客户端实例。将密钥作为字符串传入,并设置 base URL 以确保所有请求正确定向。此步骤为后续的 API 调用建立连接上下文,无需其他额外配置。
from openai import OpenAI
client = OpenAI(base_url="https://api.openaiapikeypricing.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)import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openaiapikeypricing.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);
发起您的首次聊天补全
发送简单的文本提示至 /v1/chat/completions 用于验证您的集成。使用模型 ID uncensored 访问针对成人和争议性话题进行调优且无拒绝的开源权重模型。API 返回一个包含生成文本的标准完成对象。
curl https://api.openaiapikeypricing.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "List the token costs for ten model variants"}]
}'
处理流式响应
通过将 stream: true 生成 token 时接收。这降低了长内容或交互式应用的感知延迟。SDK 处理服务器发送事件(SSE)的解析,将每个 token 交付给你的事件处理器。
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)
限制、错误和上下文
您的密钥支持每分钟 300 次请求,并允许 100,000 个 token 的上下文窗口。如果密钥无效,请监控 HTTP 401 错误;如果预付费余额耗尽,请监控 402 错误;如果超出速率限制,请监控 429 错误。请求体大小超过 8 MB 或输出限制超过 16,000 token 也会返回错误。