Migration von Text Completions
Migration von Text Completions zu Messages
Bei der Migration von Text Completions zu Messages sollten Sie die folgenden Änderungen berücksichtigen.
Eingaben und Ausgaben
Die größte Änderung zwischen Text Completions und Messages ist die Art und Weise, wie Sie Modelleingaben spezifizieren und Ausgaben vom Modell erhalten.
Bei Text Completions sind Eingaben rohe Strings:
Bei Messages spezifizieren Sie eine Liste von Eingabenachrichten anstelle eines rohen Prompts:
Jede Eingabenachricht hat eine role
und content
.
Rollennamen
Die Text Completions API erwartet abwechselnde \n\nHuman:
und \n\nAssistant:
Züge, aber die Messages API erwartet user
und assistant
Rollen. Sie könnten Dokumentation sehen, die sich auf “human” oder “user” Züge bezieht. Diese beziehen sich auf dieselbe Rolle und werden zukünftig “user” sein.
Bei Text Completions wird der generierte Text des Modells in den completion
Werten der Antwort zurückgegeben:
Bei Messages ist die Antwort der content
Wert, welcher eine Liste von Inhaltsblöcken ist:
Claude Worte in den Mund legen
Bei Text Completions können Sie einen Teil von Claudes Antwort vorab ausfüllen:
Bei Messages können Sie dasselbe Ergebnis erzielen, indem Sie die letzte Eingabenachricht die assistant
Rolle haben lassen:
Wenn Sie dies tun, wird der Antwort content
von der letzten Eingabenachricht content
fortgesetzt:
System Prompt
Bei Text Completions wird der System Prompt spezifiziert, indem Text vor dem ersten \n\nHuman:
Zug hinzugefügt wird:
Bei Messages spezifizieren Sie den System Prompt mit dem system
Parameter:
Modellnamen
Die Messages API erfordert, dass Sie die vollständige Modellversion spezifizieren (z.B. claude-sonnet-4-20250514
).
Wir haben zuvor die Spezifikation nur der Hauptversionsnummer unterstützt (z.B. claude-2
), was zu automatischen Upgrades auf Nebenversionen führte. Wir empfehlen jedoch dieses Integrationsmuster nicht mehr, und Messages unterstützen es nicht.
Stop Reason
Text Completions haben immer einen stop_reason
von entweder:
"stop_sequence"
: Das Modell beendete seinen Zug natürlich, oder eine Ihrer benutzerdefinierten Stop-Sequenzen wurde generiert."max_tokens"
: Entweder generierte das Modell Ihre spezifiziertenmax_tokens
an Inhalt, oder es erreichte sein absolutes Maximum.
Messages haben einen stop_reason
von einem der folgenden Werte:
"end_turn"
: Der Gesprächszug endete natürlich."stop_sequence"
: Eine Ihrer spezifizierten benutzerdefinierten Stop-Sequenzen wurde generiert."max_tokens"
: (unverändert)
Max Tokens spezifizieren
- Text Completions:
max_tokens_to_sample
Parameter. Keine Validierung, aber begrenzte Werte pro Modell. - Messages:
max_tokens
Parameter. Wenn ein Wert übergeben wird, der höher ist als das Modell unterstützt, wird ein Validierungsfehler zurückgegeben.
Streaming Format
Bei der Verwendung von "stream": true
mit Text Completions enthielt die Antwort beliebige completion
, ping
und error
Server-Sent-Events. Siehe Text Completions Streaming für Details.
Messages können mehrere Inhaltsblöcke verschiedener Typen enthalten, und daher ist ihr Streaming-Format etwas komplexer. Siehe Messages Streaming für Details.