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 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 construisez 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: 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 pouvez recevoir une overloaded_error, qui correspondrait normalement à une erreur HTTP 529 dans un contexte sans diffusion :

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

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

Versions antérieures de l’API

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.