繁中 ▾

無審查 AI API:常見錯誤與修復方法

大多數開發者在整合無審查 AI API 時遇到的困難,並非因為模型複雜,而是因為他們將標準的 OpenAI 限制套用於無限制的端點。本指南將拆解切換至無審查 LLM API 時,導致 400 錯誤或靜默失敗的特定設定錯誤、速率限制和結構特性。

更新

重點摘要

  • 無審查 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 金鑰與您的電子郵件和密碼綁定。如果您遺失金鑰,您可以重新產生它。重新產生的次數沒有限制。然而,頻繁重新產生可能表示安全問題,因此請在必要時使用。妥善保管您的金鑰,不要公開分享。

除錯內容過濾器

無審查模型不會拒絕合法的成人內容、虛構內容、安全研究或爭議性話題。然而,有一個硬性內容限制始終適用:禁止涉及未成年人的性內容。包含此類內容的請求將被阻止。

如果您遇到意外的拒絕,請檢查您的提示詞中是否有禁止內容的微妙指標。該模型針對無限制使用進行了調校,但它仍可能套用基本的安全過濾器。如果您正在測試邊緣案例,請記錄行為以了解模型的界限。

另一個常見的問題是幻覺。無審查模型可能會生成聽起來合理但不正確的資訊。請務必驗證關鍵輸出,特別是在使用函式呼叫或生成程式碼時。在某些情況下,該模型優先考慮流暢性而非嚴格的事實準確性。

問答

無審查 API 是否與 OpenAI SDK 相容?

是的,完全相容。您只需將 Base URL 變更為 https://api.uncensoredgptapi.com/v1,並將模型 ID 設為 "uncensored" 即可。所有標準參數,如串流輸出、函式呼叫和訊息,均可正常運作。

我該如何處理速率限制?

每個金鑰每分鐘限 300 次請求。若超過此限制,您將收到 429 錯誤。請在客戶端實作指數退避機制,以便在限制重置後重試。若您正在處理大量資料集,請考慮將請求分批處理。

我可以使用多個 API 金鑰嗎?

不行,每個帳戶限用一個 API 金鑰。您可以隨時重新產生金鑰,但這會使先前的金鑰失效。重新產生後,請立即更新所有客戶端使用新金鑰。

上下文視窗的大小是多少?

上下文視窗為 100,000 個 token,包含提示詞與補全內容。這允許進行長對話或大型文件處理。請監控您的 token 使用量,以避免超過此限制。

只差一張表單,即可取得金鑰

建立帳戶、複製金鑰、變更 Base URL。設定即完成。

取得 API 金鑰