基础 URL 和认证
使用提供的基地址和您的 API 密钥连接到 API。此端点可通过简单更新配置与标准 OpenAI SDK 配合使用。每个账户仅接收一个活动密钥,您可在注册时通过 Google 或邮箱生成。该密钥用于对您向服务发出的所有请求进行身份验证。
curl https://api.hubuncensored.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Generate a JSON object with user id and role"}]
}'保持密钥安全。如果你生成新密钥,之前的密钥将立即失效。这确保你始终控制对预付费额度的访问,而不会有残留权限。
聊天完成端点
将提示数据发送到聊天补全端点以进行文本生成。这是您应用程序的主要接口,处理所有文本输入和输出。您必须将模型指定为 'uncensored' 以确保行为一致。API 处理您的请求并返回生成的文本响应。
from openai import OpenAI
client = OpenAI(base_url="https://api.hubuncensored.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)错误如 401 表示密钥无效,而 402 表示您需要更多余额。请求根据实际令牌使用量收费,因此错误不会消耗您的余额。
通过 SSE 实现流式响应
使用服务器发送事件 (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)上下文窗口总共允许 100,000 个 token,包括提示和补全。流式传输不会改变底层的 token 限制或定价结构。
函数调用与 JSON 模式
使用函数调用将结构化输出集成到你的工作流中。指定工具和 tool_choice 以指导模型的响应格式。你还可以使用 response_format 参数强制执行严格的 JSON 模式,以实现可靠的解析。这确保你的应用程序接收到你定义的确切结构的数据。
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.hubuncensored.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);这些功能在单个无审查模型内工作。没有模型路由,也没有不同供应商之间的选择。您依赖一个经过调整以支持无限制内容的开源权重模型。
参数:Temperature、Top P 和 Stop
使用 temperature 和 top_p 等标准参数控制生成行为。调整这些值以平衡输出中的创造性和确定性。stop 参数允许您在特定序列处停止生成。您还可以设置 presence_penalty 和 frequency_penalty 以优化输出风格。
将 max_tokens 设置为 16,000 以获取长响应。如果您省略 max_tokens,每个请求的默认值为 2,048 个令牌。这些设置使您能够精确控制生成过程。
限制、错误和上下文窗口
根据严格的速率限制监控使用情况以确保平稳运行。您允许每分钟 300 个请求和每个密钥 8 个并发请求。最大请求体大小为 8 MB。超过这些限制将返回 429 速率限制错误。了解这些约束有助于您设计健壮的重试逻辑。
上下文窗口总共支持 100,000 个 token。这包括输入提示词和生成的补全部分。请相应地规划 token 使用情况,以避免截断或错误。