API héritée

L’API Text Completions est une API héritée. Les futurs modèles et fonctionnalités nécessiteront l’utilisation de l’API Messages, et nous recommandons de migrer dès que possible.

Lors de la création d’une complétion de texte, vous pouvez définir "stream": true pour diffuser progressivement la réponse en utilisant les événements envoyés par le serveur (SSE). Si vous utilisez nos bibliothèques clientes, l’analyse de ces événements sera gérée automatiquement pour vous. Cependant, si vous créez une intégration API directe, vous devrez gérer ces événements vous-même.

Exemple

Request
curl https://api.anthropic.com/v1/complete \
     --header "anthropic-version: 2023-06-01" \
     --header "content-type: application/json" \
     --header "x-api-key: $ANTHROPIC_API_KEY" \
     --data '
{
  "model": "claude-2",
  "prompt": "\n\nHuman: Bonjour, le monde !\n\nAssistant:",
  "max_tokens_to_sample": 256,
  "stream": true
}
'
Response
event: completion
data: {"type": "completion", "completion": " Bonjour", "stop_reason": null, "model": "claude-2.0"}

event: completion
data: {"type": "completion", "completion": " !", "stop_reason": null, "model": "claude-2.0"}

event: ping
data: {"type": "ping"}

event: completion
data: {"type": "completion", "completion": " Je", "stop_reason": null, "model": "claude-2.0"}

event: completion
data: {"type": "completion", "completion": " m'appelle", "stop_reason": null, "model": "claude-2.0"}

event: completion
data: {"type": "completion", "completion": " Claude", "stop_reason": null, "model": "claude-2.0"}

event: completion
data: {"type": "completion", "completion": ".", "stop_reason": null, "model": "claude-2.0"}

event: completion
data: {"type": "completion", "completion": "", "stop_reason": "stop_sequence", "model": "claude-2.0"}

Événements

Chaque événement comprend un type d’événement nommé et des données JSON associées.

Types d’événements : completion, ping, error.

Types d’événements d’erreur

Nous pouvons occasionnellement envoyer des erreurs dans le flux d’événements. Par exemple, pendant les périodes d’utilisation intensive, vous pouvez recevoir une overloaded_error, qui correspondrait normalement à un HTTP 529 dans un contexte non streaming :

Example error
event: completion
data: {"completion": " Bonjour", "stop_reason": null, "model": "claude-2.0"}

event: error
data: {"error": {"type": "overloaded_error", "message": "Surchargé"}}

Anciennes versions de l’API

Si vous utilisez une version de l’API antérieure à 2023-06-01, la forme de la réponse sera différente. Voir versioning pour plus de détails.