基礎 URL 與驗證
每個請求都以將您的客戶端指向正確的基礎 URL 開始。使用您在註冊期間收到的金鑰傳遞至 Authorization 標頭。此標頭用於驗證您的帳戶並追蹤預付額度的使用情況。
我們的基礎設施是為尋求直接存取且無中介路由費用的開發者而建構。因為我們運行自己的伺服器,所以你獲得一致的效能。
首次請求
發送第一條訊息以驗證連線能力和模型回應。使用標準的聊天補全端點,並附上您的系統提示詞和用戶查詢。這能確認您的金鑰有效,並顯示原始 JSON 回應。
- 設定
modelfield touncensored. - 包含一個簡單的使用者訊息以測試延遲。
- 檢查
usage物件以取得 token 數量。
Python SDK
使用官方 Python 函式庫快速整合。安裝套件,並使用您的 Base URL 和金鑰初始化客戶端。此方法會自動處理序列化和重試。
將你的對話歷史定義為字典列表。直接將這些內容傳遞至聊天端點。程式庫會回傳一個結構化的回應物件,你可以解析該物件以獲取助手的文字。
Node SDK
使用 Node.js 客戶端建立伺服器端邏輯。匯入庫並配置 API 金鑰和基礎 URL。此設定非常適合處理使用者輸入的後端服務。
呼叫補全方法並傳入您的訊息。回應包含生成的文字與使用統計數據。請優雅地處理錯誤,以避免在高負載期間應用程式崩潰。
串流回應
即時接收 token 以提供更流暢的使用者體驗。啟用串流請在請求中設定適當的旗標。伺服器會隨著生成發送資料區塊。
在客戶端累積這些區塊以逐步顯示文字。這顯著降低了感知延遲。監控最後一個區塊以獲取總 token 使用量和計費資料。
限制、錯誤與上下文
請遵守速率限制以避免中斷。您每分鐘可發送 300 次請求,每支金鑰允許 8 個併發連線。如果您超過此限制,將收到 429 錯誤。
401 錯誤表示您的 API 金鑰無效。402 錯誤表示預付信用額度不足。您的上下文視窗總共為 100,000 個 token。請確保您的提示和回應在此限制內,以確保可靠的性能。
cURL
curl https://api.deepseekapiaccess.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Calculate the total latency for three sequential API calls."}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.deepseekapiaccess.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.deepseekapiaccess.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)