重點摘要
- 無審查 API 遵循標準 OpenAI 語法,但缺乏嵌入或多模型路由等進階功能,因此您的客戶端必須設定為單一端點。
- 串流回應需要特定的 SSE 處理;若您的 SDK 預設為 JSON 解析,您將在大規模無審查輸出時遇到解析錯誤。
- 函式呼叫可用,但由於該模型比指令調校模型更容易產生幻覺,因此需要更嚴格的 JSON 結構遵循。
- 您每分鐘限 300 次請求且主體大小限 8MB,這需要為高流量應用程式採取謹慎的批次策略。
了解無審查 AI API 端點
整合無審查 AI API 時,第一個錯誤是假設其行為與標準商業模型完全相同。我們的端點是一個託管的、與 OpenAI 相容的 chat-completions 服務。它提供單一專屬的無審查大型語言模型。這意味著您不需要管理模型路由或版本控制。您發送請求至 POST /v1/chat/completions 並接收文字回應。
與捆綁圖像、影片和多個供應商的聚合器不同,此服務專注於高性能、無限制的文字生成。該模型為開放權重模型,經過調校以在法律成人用途下無內容拒絕地回答。然而,它不是 GPT、Claude、Gemini 或其他供應商的模型。它運行在我們自己的 GPU 伺服器上。
Base URL 為 https://api.uncensoredgptapi.com/v1。要使用它,請更改現有 OpenAI SDK 或任何與 OpenAI 相容客戶端中的 base_url,並提供您的 API 金鑰。您必須發送的模型 ID 僅為 "uncensored"。這種簡化減少了整合時間,但需要您驗證客戶端能否處理單一模型端點,而不期望有備援機制。
常見驗證錯誤
驗證錯誤通常源於標頭配置錯誤或金鑰過期。API 使用標準的 Bearer token 驗證。您必須在每個請求的 Authorization 標頭中包含您的 API 金鑰。
一個常見的錯誤是快取 API 金鑰而不驗證其有效性。如果您重新產生金鑰,舊金鑰會立即被撤銷。您必須更新客戶端設定以使用新金鑰。如果您收到 401 Unauthorized 錯誤,請檢查兩件事:首先,確保金鑰複製正確,沒有前導或尾隨空白。其次,驗證您是否使用了正確的 Base URL。域名或路徑的微小偏差都會導致驗證失敗。
另一個常見問題是使用錯誤的模型 ID。端點期望收到 "uncensored"。如果您發送 "gpt-4" 或其他標準模型 ID,端點可能會拒絕請求或返回錯誤,因為它僅提供單一模型。請務必仔細檢查請求主體中的 model 欄位。
curl https://api.uncensoredgptapi.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."}]
}'
正確處理串流回應
支援透過伺服器傳送事件(SSE)的串流輸出回應,但習慣同步 JSON 回應的開發者常處理不當。當你在請求中設定 "stream": true 時,API 會傳回部分 JSON 物件的串流,而非單一完整的 JSON 回應。
如果您的客戶端嘗試一次性將整個回應解析為 JSON,將會失敗。您必須逐行讀取串流。每行以 data: 開頭,包含一個部分 JSON 物件。最後一行為 data: [DONE]。您的程式碼應聚合這些區塊以重建最終文字。
部分 SDK 會自動處理此情況,但自訂實作需要明確的 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)
函式呼叫設定錯誤
支援函式呼叫,但無審查模型比指令調校模型更容易產生參數幻覺。這需要您進行更嚴格的驗證。定義工具時,請確保您的 JSON schema 精確。模型會嘗試填入參數,但可能會遺漏必要欄位或提供錯誤的類型。
在執行函式之前,請務必驗證函式呼叫參數。如果模型返回參數的無效 JSON,您必須優雅地處理錯誤。不要假設輸出將具有完美的結構。您可能需要實作重試機制或後處理步驟來清理參數。
此外,請注意,如果提示詞複雜,無審查模型可能會忽略工具定義。如果遇到問題,請簡化工具描述,並確保系統提示詞明確指示模型在適當時使用工具。使用幾個範例輸入進行測試以驗證行為。
上下文視窗限制(100,000 個 token)
無審查 API 支援 100,000 個 token 的上下文視窗,包含提示詞和補全。這比許多標準模型大得多,允許進行廣泛的對話或大型文件處理。然而,它並非無限。如果您的輸入超過此限制,API 將返回錯誤。
要避免達到此限制,請監控您的 token 使用量。大多數 SDK 提供計數 token 的工具。追蹤對話歷史中的累計 token。如果您正在處理大型文件,請考慮將它們分塊或總結對話的早期部分以釋放上下文空間。
請記住,上下文視窗包含 messages 陣列中的所有訊息。每則訊息都會貢獻總量。如果您發送許多小訊息,開銷可能會累積。最佳化您的提示詞結構以最小化不必要的 token。例如,如果系統指令保持不變,請避免在每個回合中重複它們。
速率限制說明(每分鐘 300 次)
API 對每支金鑰實施每分鐘 300 次請求的速率限制。這是確保所有使用者公平使用的硬性限制。若超過此限制,你將收到 429 Too Many Requests 錯誤。你的客戶端應透過實作重試策略來處理此情況。
一個常見的錯誤是未考慮流量突波。如果您快速連續發送 300 次請求,即使平均速率較低,也可能達到限制。請將請求均勻分佈在一分鐘內。如果您正在處理大型資料集,請考慮批次請求或使用佇列來管理流量。
速率限制是針對每個 API 金鑰應用的。如果您有多個服務使用相同金鑰,它們共享此限制。要增加容量,您可以產生新金鑰,但請注意,每個帳戶只有一個金鑰處於活動狀態。您可以隨時重新產生金鑰,但這會撤銷舊金鑰,因此請確保所有客戶端都已更新。
請求主體大小限制(8MB)
每個請求主體限制為 8 MB。此限制適用於 JSON 有效負載,包括 messages 陣列及任何函式呼叫定義。若你的請求超過此大小,API 將以 413 Payload Too Large 錯誤拒絕它。
當發送以 base64 編碼的大型檔案或包含廣泛的對話歷史時,此限制很重要。如果您正在處理大型文件,請考慮在發送前壓縮文字或移除不必要的空白。您也可以使用串流來減少記憶體使用,但初始請求主體仍必須符合 8 MB 的限制。
在開發期間監控您的請求大小。如果遇到此錯誤,請檢查您的提示詞結構並移除任何冗餘資訊。例如,如果您在每則訊息中包含整個系統提示詞,請將其移至 system 角色一次並引用它。
API 金鑰管理與重新產生
每個帳戶限用一個 API 金鑰。此金鑰在註冊時生成並立即顯示。您可以隨時從您的儀表板重新生成金鑰。當您重新生成時,舊金鑰會立即失效。任何使用舊金鑰的客戶端將收到 401 未授權錯誤。
要有效管理此情況,請在重新產生金鑰之前更新所有客戶端。如果您有多個服務或裝置使用金鑰,請確保它們同時更新。您可以產生任意次數的新金鑰,但一次只有一個會處於活動狀態。
API 金鑰與您的電子郵件和密碼綁定。如果您遺失金鑰,您可以重新產生它。重新產生的次數沒有限制。然而,頻繁重新產生可能表示安全問題,因此請在必要時使用。妥善保管您的金鑰,不要公開分享。
除錯內容過濾器
無審查模型不會拒絕合法的成人內容、虛構內容、安全研究或爭議性話題。然而,有一個硬性內容限制始終適用:禁止涉及未成年人的性內容。包含此類內容的請求將被阻止。
如果您遇到意外的拒絕,請檢查您的提示詞中是否有禁止內容的微妙指標。該模型針對無限制使用進行了調校,但它仍可能套用基本的安全過濾器。如果您正在測試邊緣案例,請記錄行為以了解模型的界限。
另一個常見的問題是幻覺。無審查模型可能會生成聽起來合理但不正確的資訊。請務必驗證關鍵輸出,特別是在使用函式呼叫或生成程式碼時。在某些情況下,該模型優先考慮流暢性而非嚴格的事實準確性。