Cài đặt và cấu hình provider
Vercel AI SDK có thể sử dụng một provider tương thích với OpenAI. Cấu hình base URL của CometAPI một lần và giữ API key trong biến môi trường phía server.
import { createOpenAI } from '@ai-sdk/openai';
export const cometapi = createOpenAI({
apiKey: process.env.COMETAPI_KEY,
baseURL: 'https://api.cometapi.com/v1',
});Tạo một tuyến chat streaming
Chọn model ở phía server từ một allowlist. Điều này ngăn client chọn một model đắt tiền ngoài dự kiến trong khi vẫn duy trì tính linh hoạt đa model.
import { streamText } from 'ai';
import { cometapi } from '@/lib/cometapi';
const allowedModels = {
fast: 'your-fast-model-id',
quality: 'your-quality-model-id',
};
export async function POST(request: Request) {
const { messages, route = 'fast' } = await request.json();
const modelId = allowedModels[route as keyof typeof allowedModels];
const result = streamText({
model: cometapi(modelId),
messages,
});
return result.toDataStreamResponse();
}Chuyển đổi model theo workload
Sử dụng tuyến nhanh hơn cho các lượt hội thoại và tuyến chất lượng cao hơn cho phân tích phức tạp, thay đổi code lớn hoặc các lượt review có giá trị cao. Giữ logic định tuyến có thể quan sát được để có thể so sánh chi phí và chất lượng về sau.
- Định tuyến theo chế độ sản phẩm rõ ràng trước khi thử phân loại tự động.
- Ghi lại route đã chọn, model ID, tokens, latency và kết quả request.
- Áp dụng giới hạn chi tiêu ở cấp tài khoản và cấp request.
Danh sách kiểm tra cho production
Trước khi ra mắt, hãy thêm xác thực schema, xử lý timeout, retry cho các lỗi tạm thời và một route fallback tương thích. Không bao giờ expose upstream API key trong mã trình duyệt.
