Thực Tiễn Tốt Nhất
Tối Ưu Hóa Production
Đạt được độ trễ thấp nhất, thông lượng cao nhất và chi phí tối thiểu từ tích hợp TokSpan của bạn. Đây là các mẫu chúng tôi chạy trong stack sản xuất của chính mình.
Giảm Thiểu Độ Trễ
Sử Dụng Connection Pooling
Tái sử dụng kết nối HTTP giúp loại bỏ chi phí bắt tay TLS trên mỗi request (~50–100ms tiết kiệm mỗi lần gọi). OpenAI SDK tự động pool kết nối, nhưng với môi trường production, hãy tinh chỉnh kích thước pool:
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
),
)Luôn Streaming cho UX Tương Tác
Đặt stream: true cho mọi request hướng đến người dùng. Streaming trả về token đầu tiên trong ~100ms thay vì chờ 5–30s cho toàn bộ phản hồi. Xem Chat Completions — Streaming để triển khai.
Edge Routing
Các yêu cầu đến api.tokspan.com được phục vụ qua mạng edge của TokSpan, định tuyến lưu lượng đến khu vực backend lưu trữ mô hình của bạn. Bạn không cần cấu hình gì.
Tận Dụng Prompt Caching
Prompt caching có thể cắt giảm time-to-first-token lên đến 80% với prompt lặp lại. Đặt nội dung tĩnh (hướng dẫn hệ thống, ngữ cảnh) ở đầu mảng messages. Xem hướng dẫn Prompt Caching để biết chi tiết.
Danh Sách Kiểm Tra Độ Trễ
| Tối Ưu Hóa | Tác Động Độ Trễ | Công Sức |
|---|---|---|
| Pool kết nối | −50–100ms mỗi request | Thấp |
| Bật streaming | Cảm nhận: −5–30s | Thấp |
| Bộ nhớ đệm prompt | −80% khi cache hit | Trung bình |
Giảm Thiểu Chi Phí
Lựa Chọn Mô Hình Thông Minh
Không phải tác vụ nào cũng cần GPT hoặc Claude Opus. Chuyển các tác vụ đơn giản sang mô hình rẻ hơn:
| Loại Tác Vụ | Mô Hình Khuyến Nghị | Chi Phí so với GPT |
|---|---|---|
| Phân loại, trích xuất, gắn thẻ | GPT mini, Claude Haiku, Gemini Flash | Rẻ hơn 10–50 lần |
| Soạn thảo, tóm tắt, dịch thuật | DeepSeek, Llama, Mistral | Rẻ hơn 3–10 lần |
| Suy luận phức tạp, sinh mã | GPT, Claude Opus | Cơ sở |
| Xử lý batch / nền | DeepSeek hoặc các mô hình chi phí thấp khác | Rẻ hơn 5–15 lần |
Đặt Giới Hạn Chi Tiêu
Cấu hình giới hạn chi tiêu cho từng key trong Bảng điều khiển. Key sẽ tự động vô hiệu hóa khi dùng hết hạn mức — không có hóa đơn bất ngờ. Đặt giới hạn thấp hơn cho key phát triển và giới hạn chặt chẽ hơn cho key chia sẻ với khách hàng. Xem Key Scoping.
Danh Sách Kiểm Tra Chi Phí
| Tối Ưu Hóa | Tác Động Chi Phí | Công Sức |
|---|---|---|
| Chuyển tác vụ đơn giản sang mô hình mini | −70–95% cho các tác vụ đó | Trung bình |
| Bật prompt caching | −50–90% khi cache hit | Thấp |
| Đặt giới hạn chi tiêu cho từng key | Giới hạn cứng cho chi tiêu tối đa | Thấp |
| Theo dõi bảng điều khiển mức sử dụng hàng tuần | Phát hiện bất thường sớm | Thấp |
Tối Đa Hóa Thông Lượng
Bất Đồng Bộ + Xử Lý Hàng Loạt (Async + Batching)
Với xử lý hàng loạt, hãy dùng async client và request đồng thời. Cơ sở hạ tầng của TokSpan mở rộng theo chiều ngang — giới hạn thông lượng của bạn thường là rate limit, không phải máy chủ:
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="MODEL_NAME",
messages=[{"role": "user", "content": p}],
)
for p in prompts
]
return await asyncio.gather(*tasks)Hướng Dẫn Đồng Thời
Điểm khởi đầu:
- Pay-as-you-go: Bắt đầu với mức đồng thời vừa phải (5–10 request song song) và tăng dần dựa trên độ trễ và phản hồi quan sát được
- Enterprise: Đồng thời tùy chỉnh — liên hệ chúng tôi để biết giới hạn của bạn
Nếu bạn bắt đầu nhận được phản hồi 429, hãy giảm mức đồng thời và lùi thời gian trước khi thử lại (exponential backoff kèm jitter). Giới hạn khác nhau theo gói và mô hình — xem Rate Limits để biết chi tiết.
Độ Tin Cậy Production
Thử Lại với Exponential Backoff
Sự cố mạng thoáng qua và vấn đề nhà cung cấp tạm thời luôn có thể xảy ra. Luôn bọc các lệnh gọi API trong logic thử lại:
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)Chuyển Đổi Dự Phòng Cùng Mô Hình Tự Động
Nếu nhà cung cấp phục vụ mô hình của bạn gặp thời gian ngừng hoạt động, TokSpan tự động định tuyến lại yêu cầu đến nhà cung cấp khác phục vụ cùng một mô hình — không rơi request nào và không cần can thiệp thủ công. Việc chuyển đổi dự phòng nằm trong cùng mô hình, vì vậy hành vi đầu ra vẫn nhất quán. Xem Auto Failover.
Chiến Lược Khóa API
- Dev key: Ngân sách thấp (ví dụ: $10), giới hạn ở mô hình rẻ, không giới hạn IP
- Staging key: Ngân sách trung bình (ví dụ: $50), bộ mô hình production, giới hạn IP
- Production key: Ngân sách cao hơn, tất cả mô hình, giới hạn IP cho máy chủ production
Xoay vòng khóa mỗi 90 ngày. Dùng khóa riêng cho từng dự án nếu bạn quản lý nhiều dự án.
Tham Khảo Nhanh: Danh Sách Kiểm Tra Production
Trước khi đưa lên production, hãy kiểm tra danh sách này:
- <strong>Dùng client cấp production</strong> — gộp kết nối và timeout tường minh (xem ở trên)
- <strong>Bật streaming</strong> cho mọi request hướng người dùng để có UX phản hồi nhanh
- <strong>Triển khai thử lại với exponential backoff và jitter</strong> cho lỗi <code>429</code> và <code>5xx</code>
- <strong>Đặt ngân sách theo key</strong> và danh sách IP trắng để rò rỉ không dẫn tới hóa đơn lớn
- <strong>Đặt nội dung prompt tĩnh ở đầu</strong> để tối đa tỷ lệ cache hit và cắt giảm chi phí