安裝並設定 provider
Vercel AI SDK 可以使用相容 OpenAI 的 provider。只需設定一次 CometAPI base URL,並將 API key 保存在伺服器端環境變數中。
import { createOpenAI } from '@ai-sdk/openai';
export const cometapi = createOpenAI({
apiKey: process.env.COMETAPI_KEY,
baseURL: 'https://api.cometapi.com/v1',
});建立串流聊天路由
在伺服器端從 allowlist 中選擇模型。這可防止用戶端選取非預期的高成本模型,同時保留多模型彈性。
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();
}依工作負載切換模型
對於對話回合使用較快的路由,對於複雜分析、長篇程式碼變更或高價值審查則使用高品質路由。請保持路由邏輯可觀測,以便日後比較成本與品質。
- 在嘗試自動分類之前,先依明確的產品模式進行路由。
- 記錄所選路由、model ID、token、延遲與請求結果。
- 套用帳戶層級與請求層級的支出上限。
生產環境檢查清單
在上線前,請加入結構驗證、逾時處理、對暫時性失敗的重試,以及相容的 fallback 路由。切勿在瀏覽器程式碼中暴露上游 API key。
