身份驗證與基礎 URL
首先替換客戶端配置中的基礎 URL 和 API 金鑰。我們的服務使用單一基礎 URL 處理所有請求,這確保了與現有 OpenAI SDK 的兼容性。您無需為不同功能管理多個端點。透過儀表板使用 Google 或電子郵件產生金鑰。請妥善保管此金鑰,因為它授予對您預付信用額度的直接存取權。
API 金鑰包含在 Authorization header。若遺失金鑰,請在儀表板中產生新金鑰,它將取代舊的有效金鑰。帳戶恢復不需要電話號碼,維持我們以隱私為先的理念。使用下方的基礎 URL 進行所有後續請求。
基礎 URL: https://api.norestrictedai.com/v1
POST /v1/chat/completions
將您的提示詞發送至 POST /v1/chat/completions 用於接收文字回應的端點。這是產生文字所需的唯一端點。模型 ID 為 uncensored. 它是一個開放權重的模型,針對在合法成人用途下無內容審查地進行回答進行了調優。它不是 GPT 或 Claude。您可以流式傳輸響應,或以 JSON 模式請求。系統支持函數調用以及 temperature 和 top_p 等標準參數。
請求作為文字輸入、文字輸出進行處理。沒有嵌入或影像生成能力。如果您需要這些功能,請另尋他處。我們專注於純粹的直接文字生成和透明的 token 定價。錯誤和拒絕(除了硬性未成年人內容限制外)不會消耗您的信用額度。
Python SDK 集成
使用官方 OpenAI Python 函式庫與我們的 API 互動。在客戶端實例中設定 base URL 和 API 金鑰。這種方法讓您在切換供應商時,能保留現有的程式碼結構。函式庫會自動處理 JSON 序列化和 HTTP 請求。您可以使用與其他服務相同的模型名稱,但請記住我們的模型 ID 為 uncensored.
這種方法非常適合後端服務和腳本。該庫支持同步和非同步操作。你可以調整 temperature 和 top_p 值以控制創意。響應對象包含生成的文本和 token 使用統計信息。
Node SDK 整合
使用標準 OpenAI SDK 將我們的 API 整合至您的 Node.js 應用程式。使用基礎 URL 和 API 金鑰設定客戶端。此設定與 Express 路由或無伺服器函式無縫配合。SDK 管理請求生命週期,包括重試和錯誤處理。您可以將訊息作為角色和內容物件的陣列傳遞。
此整合非常適合網頁應用程式和微服務。回應物件包含生成的內容和使用資料。您可以啟用串流,以便在生成時將 token 發送給客戶端。這降低了最終用戶的感知延遲。SDK 支援 API 規範中定義的所有標準參數。
串流回應 (SSE)
透過設定 stream 參數至 true. API 回傳伺服器發送事件(SSE)串流。每個區塊包含部分回應。最後一個區塊包含總 token 使用量。此功能顯著縮短了首個 token 的到達時間。這對於聊天介面和即時應用程式至關重要。
串流會持續到模型完成回應或發生錯誤為止。您可以隨時取消串流。當客戶端斷開連線時,伺服器會停止處理請求。這可節省運算資源。使用串流模式可提供流暢的使用者體驗。最後一個區塊的 token 使用量可讓您準確追蹤成本。
速率限制與錯誤
我們的 API 實施了嚴格的速率限制以確保穩定性。您每個金鑰每分鐘可進行 300 次請求。您可以同時進行 8 個並發請求。最大請求主體大小為 8 MB。如果您超過這些限制,將收到 429 錯誤。金鑰無效等錯誤返回 401。餘額不足返回 402。這些錯誤不會消耗您的餘額。
提示詞與補全的上下文視窗總計為 100,000 個 token。每次請求的最大輸出為 16,000 個 token。若您未設定 max_tokens, 限制為 2,048。信用額度為預付制且永不過期。錯誤免費。若重複扣款,請聯繫支援。系統不會記錄提示詞用於訓練。隱私獲得保障。使用下方的程式碼區塊來實作這些功能。
cURL
curl https://api.norestrictedai.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Set database index to primary key"}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.norestrictedai.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.norestrictedai.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)