前置條件:安裝 SDK
安裝您首選語言的官方 SDK,以自動處理身份驗證和請求格式化。大多數開發者偏好社群維護的套件,這些套件複製了標準 openai 程式庫結構。這確保您的程式碼與 chat-completions 端點的未來更新保持相容。
from openai import OpenAI
client = OpenAI(base_url="https://api.openaiapikeypricing.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)import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openaiapikeypricing.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);
設置您的 Base URL
將您的客戶端指向我們的特定基礎 URL,讓請求通過我們的無審查基礎設施。您必須更新 base_url 參數於您的客戶端配置中,然後再發送任何請求。這會告訴 SDK 跳過標準的 OpenAI 伺服器,並將流量導向我們的專用端點。
基礎網址為: https://api.openaiapikeypricing.com/v1
初始化客戶端
使用從儀表板獲取的 API 金鑰建立您的客戶端實例。將金鑰作為字符串傳遞,並設置基礎 URL 以確保所有請求都正確定向。此步驟為後續的 API 調用建立連接上下文,無需其他配置。
from openai import OpenAI
client = OpenAI(base_url="https://api.openaiapikeypricing.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)import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openaiapikeypricing.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);
進行您的首次聊天完成
發送簡單的文本提示至 /v1/chat/completions 用於驗證您的整合。使用模型 ID uncensored 存取針對成人和爭議性主題且無拒絕調整的開源權重模型。API 返回包含生成文本的標準完成對象。
curl https://api.openaiapikeypricing.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "List the token costs for ten model variants"}]
}'
處理串流回應
在請求主體中將 stream: true 即時接收生成的 token。這可降低長篇內容或互動式應用程式的感知延遲。SDK 會處理伺服器發送事件(SSE)的解析,將每個 token 傳遞給您的事件處理器。
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)
限制、錯誤與上下文
您的金鑰支援每分鐘 300 次請求,並允許 100,000 token 的上下文視窗。若金鑰無效請監控 HTTP 401 錯誤,若預付額度耗盡請監控 402 錯誤,若超過速率限制則會收到 429 錯誤。超過 8 MB 主體大小或 16,000 token 輸出限制的請求也會返回錯誤。