Migration depuis les Text Completions
Migration depuis les Text Completions vers les Messages
Lors de la migration des Text Completions vers les Messages, tenez compte des changements suivants.
Entrées et sorties
Le changement le plus important entre les Text Completions et les Messages est la façon dont vous spécifiez les entrées du modèle et recevez les sorties du modèle.
Avec les Text Completions, les entrées sont des chaînes de caractères brutes :
Avec les Messages, vous spécifiez une liste de messages d’entrée au lieu d’un prompt brut :
Chaque message d’entrée a un role
et un content
.
Noms des rôles
L’API Text Completions attend des tours alternés \n\nHuman:
et \n\nAssistant:
, mais l’API Messages attend des rôles user
et assistant
. Vous pourrez voir de la documentation faisant référence aux tours “human” ou “user”. Ils se réfèrent au même rôle, et ce sera “user” à l’avenir.
Avec Text Completions, le texte généré par le modèle est renvoyé dans les valeurs completion
de la réponse :
Avec Messages, la réponse est la valeur content
, qui est une liste de blocs de contenu :
Mettre des mots dans la bouche de Claude
Avec Text Completions, vous pouvez pré-remplir une partie de la réponse de Claude :
Avec Messages, vous pouvez obtenir le même résultat en faisant en sorte que le dernier message d’entrée ait le rôle assistant
:
Dans ce cas, le content
de la réponse continuera à partir du content
du dernier message d’entrée :
Prompt système
Avec Text Completions, le prompt système est spécifié en ajoutant du texte avant le premier tour \n\nHuman:
:
Avec Messages, vous spécifiez le prompt système avec le paramètre system
:
Noms des modèles
L’API Messages exige que vous spécifiez la version complète du modèle (par exemple claude-3-opus-20240229
).
Nous prenions auparavant en charge la spécification du numéro de version majeure uniquement (par exemple claude-2
), ce qui entraînait des mises à niveau automatiques vers des versions mineures. Cependant, nous ne recommandons plus ce modèle d’intégration, et Messages ne le prend pas en charge.
Raison d’arrêt
Text Completions a toujours une stop_reason
qui est soit :
"stop_sequence"
: Le modèle a soit terminé son tour naturellement, soit l’une de vos séquences d’arrêt personnalisées a été générée."max_tokens"
: Soit le modèle a généré votremax_tokens
spécifié de contenu, soit il a atteint son maximum absolu.
Messages a une stop_reason
qui peut avoir l’une des valeurs suivantes :
"end_turn"
: Le tour de conversation s’est terminé naturellement."stop_sequence"
: L’une de vos séquences d’arrêt personnalisées spécifiées a été générée."max_tokens"
: (inchangé)
Spécification du nombre maximum de tokens
- Text Completions : paramètre
max_tokens_to_sample
. Pas de validation, mais valeurs plafonnées par modèle. - Messages : paramètre
max_tokens
. Si vous passez une valeur supérieure à celle prise en charge par le modèle, renvoie une erreur de validation.
Format de streaming
Lors de l’utilisation de "stream": true
avec Text Completions, la réponse incluait des événements server-sent-events de type completion
, ping
et error
. Voir Streaming Text Completions pour plus de détails.
Messages peut contenir plusieurs blocs de contenu de différents types, et son format de streaming est donc un peu plus complexe. Voir Streaming Messages pour plus de détails.
Was this page helpful?