API héritée

L’API de complétion de texte 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 des é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 construisez 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 d’utilisation intensive, vous pourriez recevoir une 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 d’API plus anciennes

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