Chat Completions ist die Standard-API für die Nutzung der neuesten Modelle von OpenAI. Wie du damit loslegst, erfährst du in unserem Leitfaden zur Textgenerierung für Entwickler:innen.
Am 11. März 2025 haben wir die Bausteine unserer neuen Agents-Plattform veröffentlicht. Details findest du in unserer API-Dokumentation zur Responses API, zu Tools wie Web Search, File Search und Computer Use sowie zu unserem Agents SDK mit Tracing.
Von Prompts zu Nachrichten
Für interaktivere und dynamischere Unterhaltungen mit unseren Modellen kannst du Nachrichten im Chatformat verwenden, statt des bisherigen Promptformats für Completions.
So funktioniert es:
Statt eines einzelnen Prompt-Strings sendest du eine Liste von Nachrichtenobjekten als Eingabe.
Jede Nachricht hat eine role und normalerweise content.
Zu den üblichen Rollen gehören system, user, assistant, developer und tool. Tool-Nachrichten enthalten Ergebnisse von Tools oder Funktionen und müssen den Tool-Aufrufen des Assistenten entsprechen. Aus Gründen der Abwärtskompatibilität können Funktionsnachrichten weiterhin akzeptiert und bei der serverseitigen Verarbeitung in Tool-Nachrichten umgewandelt werden. Developer-Nachrichten können je nach Unterstützung durch das Modell neu zugeordnet werden.
content enthält den Nachrichtentext der jeweiligen Rolle.
Die Systemanweisung kann übergeordnete Vorgaben für die Unterhaltung festlegen.
Die Nachrichten werden in der Reihenfolge verarbeitet, in der sie in der Liste stehen, und der Assistent antwortet entsprechend.
Selbst einfache Completions-Anfragen lassen sich über Chat Completions verarbeiten, wie du unten siehst:
| Früher | Jetzt |
|---|---|
'prompt' : 'tell me a joke' | 'messages': [{'role':'user', 'content':'tell me a joke'}] |
Jetzt ist ein wechselseitiger Austausch mit dem Modell einfacher denn je: Erweitere dazu einfach die Nachrichtenliste der Unterhaltung.
'messages': [{'role':'user', 'content':'Erzähl mir einen Witz'},
{'role':'assistant', 'content':'Warum überquerte das Huhn die Straße?'},
{'role':'user', 'content':'Ich weiß nicht, warum hat das Huhn die Straße überquert?'}]Systemanweisungen
Du kannst auch eine Anweisung auf Systemebene verwenden, um das Verhalten des Modells während der gesamten Unterhaltung zu steuern. Zum Beispiel mit einer Systemanweisung und einer Nachricht wie dieser
'messages': [{'role':'system', 'content':'Du bist ein Assistent, der wie Shakespeare spricht.'},
{'role':'user', 'content':'Erzähl mir einen Witz'}, ergibt ungefähr Folgendes
{...
'message': {'role':'assistant',
'content':'Warum überquerte das Huhn die Straße? Um auf die andere Seite zu gelangen, doch fürwahr, die andere Seite war voller Gefahr und Unheil, also kehrte es rasch dorthin zurück, von wannen es kam, wahrlich!'}
...}Wenn du Optionen erkunden möchtest, bei denen du den Verlauf der Nachrichtenunterhaltung nicht selbst verwalten musst, sieh dir die Assistants API an.
