繁中 ▾
建立金鑰

快速入門: 即插即用 OpenAI 相容 API

即插即用 OpenAI 相容性意味著您只需變更一個基礎網址和一個金鑰,然後您的現有程式碼即可針對我們的無審查模型運行,無需重寫邏輯。此快速入門指南可讓您在幾分鐘內從零開始獲得串流回應。

變更 base_url 並設定 API key

第一步是將您的 SDK 指向我們的端點。使用 https://api.whatisopenrouterai.com/v1 作為您的基礎 URL,並貼上來自儀表板的金鑰。這項單一變更會將所有呼叫重新導向至我們的無審查大型語言模型,同時保持您標準的 OpenAI-compatible 標頭不變。

  • 透過 Google 或電子郵件產生金鑰。
  • 將其儲存在您的環境變數中。
  • 驗證金鑰是否能透過簡單請求運作。
curl https://api.whatisopenrouterai.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "Set variable x to five"}]
  }'

向 /v1/chat/completions 傳送請求

我們的 API 接受標準的聊天完成請求,接受文字輸入並返回文字輸出。您向 /v1/chat/completions 端點,搭配您的模型 ID 與訊息歷史記錄。模型 ID 僅為 uncensored, 調整模型以針對合法成人內容不進行拒絕進行回答。

from openai import OpenAI

client = OpenAI(base_url="https://api.whatisopenrouterai.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)

使用 SSE 串流 token

串流透過伺服器發送事件提供即時回饋。每個區塊包含部分文字,而最後一個區塊包含 token 使用統計數據。這種方法在等待長篇回應完成時,可保持您的使用者介面保持響應。

import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://api.whatisopenrouterai.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);

使用 response_format 強制執行 json_object

使用 response_format 參數設定為 {"type": "json_object"} 用於強制執行嚴格的 JSON 輸出。這能確保您的應用程式進行可預測的解析,無需依賴模型每次都猜測正確的結構。

使用工具與 tool_choice

函式呼叫運作方式與標準 OpenAI API 完全相同。在請求中定義您的工具,模型會在適當時回傳結構化參數。您可以使用 tool_choice 或讓模型根據上下文自行決定。

檢查可用模型

查詢 GET /v1/models 查看可用的單一 uncensored 模型。此端點回傳模型 ID 與詳細資訊,確認我們的服務已啟動並準備好接收請求。我們不提供多種模型選擇,以保持整合的簡潔與專注。

串流

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)

常見問題

什麼是 open router AI

這是一款託管的 OpenAI 相容 API,提供單一無審查的大型語言模型。您只需更改基礎 URL 和金鑰,即可獲得標準 OpenAI 程式碼的即插即用替代品。該模型不會拒絕合法成人內容,提供真正的無審查 LLM 體驗。

如何處理速率限制和錯誤?

無效金鑰會返回 401 錯誤,信用額不足返回 402,超出速率限制則返回 429。每支金鑰的限額為每分鐘 300 次請求。錯誤與拒絕請求不會消耗您的預付 token。

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

提示與補全的上下文視窗均為 100,000 tokens。每次請求的最大輸出為 16,000 tokens;若未指定 max_tokens,則預設為 2,048 tokens。這使得進行大量對話而無需立即截斷成為可能。