前提条件与配置
要使用我们的openai api proxy,你需要使用对应语言的官方 SDK 和一个有效的 API 密钥。在仪表板上注册即可立即获取密钥。试用无需信用卡。设置两个环境变量:OPENAI_API_KEY填入你的密钥,OPENAI_BASE_URL指向我们的接口。这种方法确保你现有的代码无需修改即可运行,作为应用程序的透明llm proxy。
我们的服务使用标准的uncensored模型 ID。由于我们是单模型代理,无需管理复杂的路由逻辑。基础 URL 为https://api.openaiapiproxy.com/v1。配置完成后,你的客户端会将我们的服务视为任何其他兼容 OpenAI 的接口。
首次请求与 Python 设置
首先发送一个简单的聊天补全请求。这将验证你的身份验证和连接。以下示例使用基本文本提示词来验证无审查行为。将占位符值替换为你的实际凭据。
对于 Python 开发者,官方openai库处理了复杂性。你只需将客户端指向我们的基础 URL。下面的代码演示了标准的同步请求。它发送提示词并返回模型的响应。这是验证集成最快的方式。
在创建客户端实例之前,请确保已加载环境变量。SDK 会自动使用标准的 OpenAI 格式进行请求和响应。
Node.js 集成
如果你使用 Node.js 进行开发,流程与 Python 完全相同。使用 @ai-sdk/openai 或官方的 openai npm package。将客户端指向我们的 URL 并提供你的 API 密钥。SDK 会为你处理 JSON 序列化和 HTTP 请求。
此设置适用于任何 OpenAI 兼容的客户端库。你可以复用现有的提示词模板和消息结构。响应格式符合标准 OpenAI 模式,便于日后在提供商之间切换。
记得优雅地处理错误。网络问题或无效密钥将返回标准的 HTTP 错误代码。查阅你特定 SDK 版本的文档以获取详细的错误处理说明。
流式响应
对于实时应用,启用流式输出以接收生成的 token。这能降低终端用户的感知延迟。SDK 原生支持 Server-Sent Events (SSE)。你可以遍历响应流来处理每个 token。
流式输出非常适合需要即时反馈的聊天界面。模型连续生成文本,你可以将每个 token 追加到 UI 中。与等待完整响应相比,这提供了更流畅的用户体验。
流式接口使用相同的基础 URL 和身份验证。你只需在请求参数中启用 stream 标志即可。SDK 会处理连接生命周期和错误恢复。
速率限制与约束
我们的 API 执行严格的限制以确保可靠性。每个 API 密钥每分钟允许 300 次请求。最大请求体大小为 8 MB。如果超出速率限制,你将收到 429 状态码。在客户端实现指数退避以优雅地处理这些错误。
身份验证错误在密钥无效或撤销时返回 401 状态码。支付问题在预付额度耗尽时返回 402 状态码。可通过加密货币(USDT 或 USDC)即时充值。你的预付额度永不过期,因此你可以随用随付。
输入和输出的上下文窗口总计为 100,000 token。请据此规划你的提示词以避免截断。如果达到限制,模型将停止生成。
模型与内容策略
唯一可用的模型是 uncensored,这是一个针对合法成人内容和创意写作优化的开放权重模型。它默认不会拒绝争议性或露骨的话题。这使得它非常适合标准模型可能过于受限的用例。
我们不提供嵌入、图像生成或音频处理。这是一个纯文本 API。该模型不是 GPT、Claude 或其他供应商的模型。它是专门针对我们的基础设施进行调整的。
涉及未成年人的性内容始终被屏蔽。其他合法内容均允许。我们不使用你的提示词进行训练。你的数据保持私密,仅用于生成你请求的响应。
cURL
curl https://api.openaiapiproxy.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.openaiapiproxy.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)Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openaiapiproxy.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);流式输出
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)