Lektion 6 von 6·9 Min Lesezeit

Production Deployment

Eine AI-Anwendung lokal zum Laufen zu bringen ist der einfache Teil. Sie zuverlässig, kosteneffizient und skalierbar in Produktion zu betreiben, erfordert spezifische Strategien für Vercel und das AI SDK.

Vercel Deployment

Deployment-Konfiguration

AI-Anwendungen auf Vercel erfordern besondere Aufmerksamkeit:

// next.config.ts
export default {
  experimental: {
    serverActions: {
      bodySizeLimit: '4mb', // Für Bild-Uploads
    },
  },
}

Environment Variables

VariableBeschreibungPflicht
OPENAI_API_KEYOpenAI API KeyJa (bei OpenAI)
ANTHROPIC_API_KEYAnthropic API KeyJa (bei Anthropic)
AI_PROVIDERDefault ProviderOptional
AI_MAX_TOKENSToken-Limit pro RequestEmpfohlen
AI_RATE_LIMITRequests pro MinuteEmpfohlen

Vercel AI Gateway

Vercel bietet einen AI Gateway als Proxy zwischen Ihrer Anwendung und AI-Providern:

  • Caching: Identische Requests aus dem Cache beantworten
  • Rate Limiting: Pro-User-Limits durchsetzen
  • Fallback: Automatisch auf alternativen Provider wechseln bei Ausfall
  • Analytics: Token-Verbrauch, Latenz und Error Rates tracken

Edge Runtime

Wann Edge Runtime nutzen?

Vercel Edge Runtime führt Code an global verteilten Edge-Locations aus — minimale Latenz:

export const runtime = 'edge'

export async function POST(req: Request) {
  const { messages } = await req.json()

  const result = streamText({
    model: openai('gpt-4.1'),
    messages,
  })

  return result.toDataStreamResponse()
}

Edge Runtime eignet sich für:

  • Einfache Chat-Endpoints ohne Datenbankzugriff
  • Streaming-Responses (niedrigere Time-to-First-Byte)
  • Globale Anwendungen mit Nutzern in verschiedenen Regionen

Node.js Runtime bevorzugen bei:

  • Datenbankzugriff (Supabase, Prisma)
  • Dateisystem-Zugriff
  • Native Node.js-Module
  • Langläufige Operationen (> 30 Sekunden)

Rate Limiting

Implementierung mit Upstash

import { Ratelimit } from '@upstash/ratelimit'
import { Redis } from '@upstash/redis'

const ratelimit = new Ratelimit({
  redis: Redis.fromEnv(),
  limiter: Ratelimit.slidingWindow(10, '1 m'), // 10 Requests/Minute
})

export async function POST(req: Request) {
  const userId = getUserId(req)
  const { success } = await ratelimit.limit(userId)

  if (!success) {
    return new Response('Rate limit exceeded', { status: 429 })
  }

  // ... AI SDK Logic
}

Multi-Level Limits

LevelLimitZweck
Free Tier20 Requests/TagTesten und Onboarding
Pro Tier100 Requests/StundeNormale Nutzung
EnterpriseCustomNach Vereinbarung
Per-ModelVariabelTeure Modelle stärker limitieren

Cost Tracking

Token-Verbrauch überwachen

Jeder AI-Call verbraucht Tokens — und Tokens kosten Geld:

const result = await generateText({
  model: openai('gpt-4.1'),
  prompt: '...',
})

// Token-Verbrauch loggen
console.log({
  inputTokens: result.usage.promptTokens,
  outputTokens: result.usage.completionTokens,
  totalTokens: result.usage.totalTokens,
  estimatedCost: calculateCost(result.usage),
})

Kosten pro 1M Tokens (2026)

ModellInputOutput
GPT-4.1$2.00$8.00
GPT-4.1 mini$0.40$1.60
Claude Sonnet 4$3.00$15.00
Gemini 2.5 Flash$0.15$0.60

Kostenoptimierung

  • Model Routing: Einfache Fragen → günstiges Modell, Komplexe → teures
  • Prompt Caching: Anthropic und OpenAI bieten Prompt Caching mit 50–90 % Rabatt
  • Output Limits: maxTokens setzen, um Endlos-Responses zu vermeiden
  • Caching Layer: Häufige Fragen aus dem Cache beantworten

A/B Testing & Monitoring

A/B Testing von AI Features

const model = abTest('ai-model-test', userId) === 'variant_a'
  ? openai('gpt-4.1-mini')
  : anthropic('claude-sonnet-4-20250514')

const result = streamText({ model, messages })

Was A/B testen:

  • Verschiedene Modelle (GPT vs. Claude vs. Gemini)
  • System Prompts (kurz vs. detailliert)
  • Temperature-Einstellungen
  • RAG-Strategien (Top-3 vs. Top-5 Chunks)

Monitoring-Dashboard

Tracken Sie diese Metriken in Produktion:

  • Latenz: Time-to-First-Token, Total Response Time
  • Error Rate: Provider-Fehler, Rate Limits, Timeouts
  • Token-Verbrauch: Pro Nutzer, pro Feature, pro Tag
  • Kosten: Tägliche, wöchentliche und monatliche AI-Kosten
  • Qualität: User-Feedback (Thumbs up/down), Retry Rate

Production-Regel: Deployen Sie AI-Features hinter Feature Flags. Starten Sie mit 5 % der Nutzer, messen Sie Kosten und Qualität, und skalieren Sie schrittweise auf 100 %. Ein unkontrolliertes Rollout kann Ihre API-Rechnung in Stunden explodieren lassen.

📝

Quiz

Frage 1 von 3

Wann sollte man Edge Runtime statt Node.js Runtime für AI-Endpoints verwenden?