最佳實踐
生產環境最佳化
從您的 TokSpan 整合中獲得最低延遲、最高吞吐量及最小成本。這些是我們在自身生產環境中運行的最佳實踐模式。
降低延遲
使用連線池
重複使用 HTTP 連線可省去每次請求的 TLS 交握開銷(每次呼叫約節省 50–100ms)。OpenAI SDK 會自動使用連線池,但在生產環境中,請調整池大小:
import httpx
from openai import OpenAI
# Production-grade client with connection pooling
client = OpenAI(
api_key="sk-your-key",
base_url="https://api.tokspan.com/v1",
http_client=httpx.Client(
limits=httpx.Limits(
max_keepalive_connections=20,
max_connections=50,
),
timeout=60.0, # total timeout
),
)互動式體驗請一律使用串流
在每個面向使用者的請求中設定 stream: true。串流可在約 100ms 內傳回第一個 Token,無需等待 5–30 秒的完整回應。實作方式請參閱聊天補全 — 串流。
邊緣路由(自動)
TokSpan 的 DNS 會自動將 api.tokspan.com 解析至最近的邊緣節點。無需任何設定。若為自託管部署,請將服務部署在您的應用程式所在區域,以實現低於 5ms 的網路開銷。
善用 Prompt 快取
Prompt 快取可將重複 Prompt 的首 Token 時間縮短最多 80%。請將靜態內容(系統指令、上下文)放置在 messages 陣列的開頭。詳細說明請參閱Prompt 快取指南。
延遲檢查清單
| 最佳化方式 | 延遲影響 | 實施難度 |
|---|---|---|
| 連線池 | 每次請求減少 50–100ms | 低 |
| 啟用串流 | 感知延遲:減少 5–30 秒 | 低 |
| Prompt 快取 | 快取命中時減少 80% | 中 |
| 在應用附近自託管 | 網路 RTT 減少 30–80ms | 高 |
使用 -fast 後綴 | 生成時間減少 20–50% | 無 |
降低成本
智慧模型選擇
並非每個任務都需要 GPT-4o 或 Claude Opus。將簡單任務路由至更便宜的模型:
| 任務類型 | 推薦模型 | 相較 GPT-4o 的成本 |
|---|---|---|
| 分類、擷取、標記 | GPT-4o-mini, Claude Haiku, Gemini Flash | 便宜 10–50 倍 |
| 草稿撰寫、摘要、翻譯 | DeepSeek V3, Llama 4, Mistral Large 3 | 便宜 3–10 倍 |
| 複雜推理、程式碼生成 | GPT-4o, Claude Opus 4.8 | 基準 |
| 批次/背景處理 | DeepSeek V3 + -cheap 後綴 | 便宜 5–15 倍 |
設定消費上限
在儀表板中為每個金鑰設定每月預算。金鑰達到上限時會自動停用——不會有意外帳單。為開發金鑰設定較低的上限,為分享給客戶的金鑰設定更嚴格的限制。請參閱金鑰範圍設定。
使用成本最佳化模型後綴
在任何模型名稱後加上 -cheap 即可自動路由至該模型成本最低的供應商。對於非關鍵的批次作業,此方法無需更改程式碼即可節省 10–30%。
成本檢查清單
| 最佳化方式 | 成本影響 | 實施難度 |
|---|---|---|
| 將簡單任務路由至小型模型 | 該類任務減少 70–95% | 中 |
| 啟用 Prompt 快取 | 快取命中時減少 50–90% | 低 |
在批次作業上使用 -cheap 後綴 | −10–30% | 無 |
| 為每個金鑰設定每月預算 | 嚴格限制最高消費 | 低 |
| 每週檢視使用量儀表板 | 及早發現異常 | 低 |
最大化吞吐量
非同步 + 批次處理
對於大量處理,請使用非同步客戶端和並行請求。TokSpan 的基礎架構可水平擴展——您的吞吐量上限通常是速率限制,而非伺服器:
import asyncio
from openai import AsyncOpenAI
client = AsyncOpenAI(api_key="sk-your-key", base_url="https://api.tokspan.com/v1")
async def process_batch(prompts: list):
tasks = [
client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": p}],
)
for p in prompts
]
return await asyncio.gather(*tasks)並行處理指南
作為起始參考:
- 按使用量付費:最多 50 個並行請求(500 RPM 上限)
- 企業方案:自訂並行數——請聯絡我們了解您的上限
- 自託管:僅受您的基礎架構限制
監控回應標頭中的 x-ratelimit-remaining-requests 以評估您的餘裕空間。若經常達到上限的 80% 以上,請申請提高限制。
生產環境可靠性
使用指數退避重試
網路瞬斷和暫時的供應商問題時有發生。請一律將 API 呼叫包裝在重試邏輯中:
import time
import random
from openai import OpenAI, RateLimitError, APIError
def chat_with_retry(client, model, messages, max_retries=3):
for attempt in range(max_retries):
try:
return client.chat.completions.create(model=model, messages=messages)
except RateLimitError:
if attempt == max_retries - 1: raise
# Exponential backoff with jitter
wait = (2 ** attempt) + random.uniform(0, 1)
time.sleep(wait)
except APIError as e:
if e.status_code < 500 or attempt == max_retries - 1: raise
wait = (2 ** attempt) + random.uniform(0, 1)
time.sleep(wait)設定自動容錯移轉
在儀表板中設定跨供應商容錯移轉鏈(OpenAI → Anthropic → Google)。若您的主要供應商發生故障,流量會自動路由,無任何請求遺失。請參閱自動容錯移轉。
API 金鑰策略
- 開發金鑰:低預算($10/月),限制使用便宜模型,無 IP 限制
- Staging 金鑰:中等預算($50/月),可使用生產模型集,設有 IP 限制
- 生產金鑰:較高預算,可使用所有模型,限制僅限生產伺服器 IP
每 90 天輪換金鑰。若您管理多個專案,請為每個專案使用獨立的金鑰。
快速參考:生產環境模型後綴
| 後綴 | 最佳化目標 | 使用場景 |
|---|---|---|
-fast | 最低延遲 | 即時聊天、互動式應用 |
-cheap | 最低成本 | 批次作業、開發/測試、背景處理 |
-high | 最高品質 | 複雜推理、程式碼生成、分析 |
-low | 快速且便宜 | 簡單查詢、分類 |
-thinking | 偵錯推理 | Prompt 工程、思維鏈可視性 |