Migration von Text Completions
Migration von Text Completions zu Messages
Bei der Migration von Text Completions zu Messages sind folgende Änderungen zu beachten.
Eingaben und Ausgaben
Die größte Änderung zwischen Text Completions und Messages ist die Art und Weise, wie Sie Modelleingaben festlegen und Ausgaben vom Modell erhalten.
Bei Text Completions sind Eingaben einfache Zeichenketten:
Bei Messages geben Sie stattdessen eine Liste von Eingabenachrichten an:
Jede Eingabenachricht hat eine role
und einen content
.
Rollenbezeichnungen
Die Text Completions API erwartet abwechselnde \n\nHuman:
und \n\nAssistant:
Züge, während die Messages API user
und assistant
Rollen erwartet. Sie werden möglicherweise Dokumentation sehen, die sich entweder auf “human” oder “user” Züge bezieht. Diese beziehen sich auf dieselbe Rolle und werden zukünftig als “user” bezeichnet.
Bei Text Completions wird der vom Modell generierte Text in den completion
-Werten der Antwort zurückgegeben:
Bei Messages ist die Antwort der content
-Wert, der eine Liste von Inhaltsblöcken ist:
Claude Worte in den Mund legen
Bei Text Completions können Sie einen Teil von Claudes Antwort vorausfüllen:
Bei Messages können Sie dasselbe Ergebnis erzielen, indem Sie die letzte Eingabenachricht die Rolle assistant
haben lassen:
In diesem Fall wird der Antwort-content
den Inhalt der letzten Eingabenachricht fortsetzen:
System Prompt
Bei Text Completions wird der System Prompt durch Hinzufügen von Text vor dem ersten \n\nHuman:
Zug angegeben:
Bei Messages geben Sie den System Prompt mit dem system
Parameter an:
Modellnamen
Die Messages API erfordert, dass Sie die vollständige Modellversion angeben (z.B. claude-3-opus-20240229
).
Früher unterstützten wir die Angabe nur der Hauptversionsnummer (z.B. claude-2
), was zu automatischen Upgrades auf Minor-Versionen führte. Wir empfehlen dieses Integrationsmuster jedoch nicht mehr, und Messages unterstützen es nicht.
Stop-Grund
Text Completions haben immer einen stop_reason
von entweder:
"stop_sequence"
: Das Modell hat entweder seinen Zug natürlich beendet, oder eine Ihrer benutzerdefinierten Stop-Sequenzen wurde generiert."max_tokens"
: Entweder hat das Modell Ihre angegebenenmax_tokens
an Inhalt generiert, oder es hat sein absolutes Maximum erreicht.
Messages haben einen stop_reason
mit einem der folgenden Werte:
"end_turn"
: Der Gesprächszug endete natürlich."stop_sequence"
: Eine Ihrer angegebenen benutzerdefinierten Stop-Sequenzen wurde generiert."max_tokens"
: (unverändert)
Festlegen von max tokens
- 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 vom Modell unterstützt, wird ein Validierungsfehler zurückgegeben.
Streaming-Format
Bei Verwendung von "stream": true
bei Text Completions enthielt die Antwort Server-Sent-Events vom Typ completion
, ping
und error
. Siehe Text Completions Streaming für Details.
Messages können mehrere Inhaltsblöcke verschiedener Typen enthalten, daher ist das Streaming-Format etwas komplexer. Siehe Messages Streaming für Details.