先決條件與設定
要使用我們的 openai api 代理,您需要該語言的官方 SDK 以及有效的 API 金鑰。在儀表板上註冊即可立即取得金鑰。試用不需要信用卡。設定兩個環境變數:OPENAI_API_KEY填入您的金鑰,以及 OPENAI_BASE_URL指向我們的端點。這種方法可確保現有程式碼無需修改即可運作,作為應用程式的透明 llm 代理。
我們的服務使用標準的 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 套件。將客戶端指向我們的基礎 URL 並提供 API 金鑰。SDK 會為您處理 JSON 序列化和 HTTP 請求。
此設定適用於任何 OpenAI 相容的客戶端函式庫。您可以重複使用現有的提示詞範本和訊息結構。回應格式符合標準 OpenAI 架構,使得日後在供應商之間切換變得輕鬆。
請記住要優雅地處理錯誤。網路問題或無效的金鑰將返回標準的 HTTP 錯誤碼。請檢查特定 SDK 版本的文件以獲取詳細的錯誤處理資訊。
串流回應
對於即時應用程式,啟用串流以在 token 產生時接收它們。這可降低終端使用者的感知延遲。SDK 原生支援伺服器發送事件(SSE)。您可以遍歷回應串流以處理每個 token。
串流非常適合聊天介面,使用者期望立即獲得回饋。模型會持續產生文字,您可以將每個 token 附加到 UI 上。與等待完整回應相比,這提供了更流暢的使用者體驗。
串流端點使用相同的基礎 URL 和身份驗證。您只需在請求參數中啟用串流旗標即可。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)