Zainstaluj i skonfiguruj dostawcę
Vercel AI SDK może korzystać z dostawcy zgodnego z OpenAI. Skonfiguruj bazowy adres URL CometAPI tylko raz i przechowuj klucz API w serwerowej zmiennej środowiskowej.
import { createOpenAI } from '@ai-sdk/openai';
export const cometapi = createOpenAI({
apiKey: process.env.COMETAPI_KEY,
baseURL: 'https://api.cometapi.com/v1',
});Utwórz strumieniowaną trasę czatu
Wybieraj model po stronie serwera z allowlisty. Zapobiega to sytuacji, w której klienci wybierają nieoczekiwany, kosztowny model, zachowując jednocześnie elastyczność pracy z wieloma modelami.
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();
}Przełączaj modele zależnie od obciążenia
Używaj szybszej trasy dla dialogu konwersacyjnego, a trasy o wyższej jakości dla złożonej analizy, dużych zmian kodu lub przeglądu o wysokiej wartości. Utrzymuj obserwowalność logiki routingu, aby później można było porównać koszt i jakość.
- Kieruj ruchem według jawnego trybu produktu przed próbą automatycznej klasyfikacji.
- Rejestruj wybraną trasę, identyfikator modelu, tokeny, opóźnienie i wynik żądania.
- Stosuj limity wydatków na poziomie konta i pojedynczego żądania.
Lista kontrolna produkcyjna
Przed uruchomieniem dodaj walidację schematu, obsługę timeoutów, ponawianie dla błędów przejściowych oraz kompatybilną trasę awaryjną. Nigdy nie ujawniaj klucza API upstream w kodzie przeglądarki.
