Baue deine erste KI-App mit der OpenAI-API
Die Grundlagen sitzen – Zeit für Code. Am Beispiel von Node.js begleitet dich dieses Tutorial durch deine erste Chat-Anfrage an die OpenAI-API und behandelt Produktionsdetails wie Streaming, Kosten und Fehlerbehandlung.
VonAI Resource Hub
Voraussetzungen
Registriere dich zuerst auf der OpenAI-Plattform und erstelle einen API-Key; lege ihn in einer Umgebungsvariablen ab. Schreibe ihn niemals fest in den Code und committe ihn nie in ein Repository.
export OPENAI_API_KEY="sk-..."SDK installieren
Das offizielle Node.js-SDK ist der schnellste Einstieg:
npm install openaiSende deine erste Chat-Anfrage
Der Code unten schickt eine Nachricht an gpt-4o-mini und gibt die Antwort aus. Das messages-Array trägt den Gesprächsverlauf, und role kann system, user oder assistant sein.
import OpenAI from 'openai';
const client = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });
const res = await client.chat.completions.create({
model: 'gpt-4o-mini',
messages: [
{ role: 'system', content: 'You are a helpful assistant.' },
{ role: 'user', content: 'Describe large language models in one sentence.' },
],
});
console.log(res.choices[0].message.content);Streaming-Ausgabe nutzen
Chat-Apps wollen meist den „Tipp-Effekt“. Mit aktiviertem stream erhältst du die Ausgabe, während sie entsteht – das hebt das Erlebnis deutlich.
const stream = await client.chat.completions.create({
model: 'gpt-4o-mini',
messages: [{ role: 'user', content: 'Write a short poem about spring' }],
stream: true,
});
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content ?? '');
}Kosten und Fehlerbehandlung
Die API rechnet pro Token ab: Setze ein vernünftiges max_tokens und behalte den Verbrauch im Blick; ein kleineres Modell (etwa die mini-Serie) kann die Kosten drastisch senken.
Netzwerkanfragen können in Timeouts oder Rate-Limits laufen: Ergänze in Produktion Retries, Timeouts und Exception-Handling – plus Validierung und Content-Moderation für Nutzereingaben.
Mehrstufige Gespräche aufbauen
Ein einzelner API-Aufruf beantwortet eine Frage, aber echte Apps führen ein Gespräch. Der Schlüssel ist, das messages-Array anzusammeln: Nach jeder Runde hängst du die Nutzernachricht und die Assistentenantwort an und sendest beim nächsten Aufruf die volle Historie. Die System-Nachricht bleibt an Position null und verankert das Verhalten des Modells.
Behalte dein Kontextfenster im Blick: Jeder Turn fügt Tokens hinzu. Bei langen Gesprächen solltest du ältere Nachrichten zusammenfassen oder die Historie kürzen, um im Limit zu bleiben und Kosten zu sparen.
Vom Prototyp zur Produktion
Füge vor dem Launch ein paar Produktions-Essentials hinzu: Setze ein max_tokens-Limit gegen Überraschungsrechnungen, implementiere Retry-Logik mit exponentiellem Backoff für 429-Rate-Limit-Fehler, cache häufige Prompts, um Tokens zu sparen, und füge strukturiertes Logging hinzu, um Nutzungsmuster zu verfolgen und Probleme zu debuggen.