Provider'ı yükleyin ve yapılandırın
Vercel AI SDK, OpenAI uyumlu bir provider kullanabilir. CometAPI base URL'sini bir kez yapılandırın ve API anahtarını sunucu tarafındaki bir ortam değişkeninde tutun.
import { createOpenAI } from '@ai-sdk/openai';
export const cometapi = createOpenAI({
apiKey: process.env.COMETAPI_KEY,
baseURL: 'https://api.cometapi.com/v1',
});Streaming chat route oluşturun
Modeli sunucuda bir allowlist içinden seçin. Bu yaklaşım, istemcilerin beklenmedik ve pahalı bir model seçmesini önlerken multi-model esnekliğini korur.
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();
}İş yüküne göre modeller arasında geçiş yapın
Konuşma turları için daha hızlı route'u, karmaşık analiz, uzun kod değişiklikleri veya yüksek değerli incelemeler için kalite odaklı route'u kullanın. Maliyet ve kaliteyi daha sonra karşılaştırabilmek için routing mantığını gözlemlenebilir tutun.
- Otomatik sınıflandırmayı denemeden önce açık ürün moduna göre route belirleyin.
- Seçilen route'u, model ID'sini, token'ları, gecikmeyi ve istek sonucunu kaydedin.
- Hesap ve istek düzeyinde harcama limitleri uygulayın.
Production kontrol listesi
Yayına almadan önce şema doğrulaması, timeout yönetimi, geçici hatalar için retry mekanizması ve uyumlu bir fallback route ekleyin. Upstream API anahtarını tarayıcı kodunda asla açığa çıkarmayın.
