API obsolète

L’API de complétion de texte est une API obsolète. 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 client, 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

Shell
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: Hello, world!\n\nAssistant:",
  "max_tokens_to_sample": 256,
  "stream": true
}
'
Response
event: completion
data: {"type": "completion", "completion": " Hello", "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": " My", "stop_reason": null, "model": "claude-2.0"}

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

event: completion
data: {"type": "completion", "completion": " is", "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 inclut 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 de forte utilisation, vous pourriez recevoir une erreur overloaded_error, qui correspondrait normalement à un HTTP 529 dans un contexte non-streaming :

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

event: error
data: {"error": {"type": "overloaded_error", "message": "Overloaded"}}

Versions API antérieures

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