Interface de conversation native Messages
En-têtes de requête Messages de Claude, différences entre system et messages, blocs de contenu et motifs d'arrêt.
Claude Code, le SDK Anthropic et les applications qui souhaitent préserver les blocs de contenu natifs de Claude utilisent POST https://1zheai.com/v1/messages. Renseignez l’URL de base du SDK avec https://1zheai.com.
Requête minimale
Section intitulée « Requête minimale »Définissez d’abord la variable d’environnement de clé de ce site ONEZHE_API_KEY, puis exécutez :
curl --fail-with-body --connect-timeout 10 --max-time 120 \ https://1zheai.com/v1/messages \ -H "x-api-key: $ONEZHE_API_KEY" \ -H "anthropic-version: 2023-06-01" \ -H "Content-Type: application/json" \ -d '{ "model": "claude-sonnet-5-5", "max_tokens": 256, "system": "请用简短的中文回答。", "messages": [{"role": "user", "content": "什么是域名解析?"}] }'Structure de la requête
Section intitulée « Structure de la requête »| Champ | Type | Utilisation |
|---|---|---|
model | chaîne | Requis, sélectionne le modèle Claude disponible pour la clé |
max_tokens | entier | Requis, limite supérieure de sortie ; à définir en combinaison avec les limites du modèle sélectionné |
messages | tableau | Requis, envoie les messages user et assistant dans l’ordre chronologique |
system | chaîne ou tableau de blocs de contenu | Facultatif, les instructions système sont placées au niveau supérieur, et non en tant que message role: system |
stream | booléen | Facultatif, diffuse les incréments de blocs de contenu |
tools | tableau | Facultatif, déclare les noms d’outils, leurs finalités et les Schémas d’entrée |
thinking, le cache control et les paramètres bêta dépendent du modèle spécifique et du support en amont. Vérifiez d’abord le texte brut, puis ajoutez au besoin ; ne considérez pas que tous les modèles disposent du même ensemble de paramètres.
Lecture des blocs de contenu
Section intitulée « Lecture des blocs de contenu »Le content retourné est un tableau et peut contenir simultanément du texte, des requêtes d’outils ou d’autres blocs de contenu. Ne lisez pas content[0].text de manière inconditionnelle. Par exemple, avec le SDK Python Anthropic :
for block in message.content: if block.type == "text": print(block.text)Ici, message provient de client.messages.create(...) dans le Tutoriel du SDK Anthropic .
stop_reason | Comment l’application doit le traiter |
|---|---|
end_turn | La réponse de ce tour est terminée |
max_tokens | La sortie a été tronquée par la limite supérieure et ne peut être considérée comme une réponse complète |
tool_use | Vérifiez les requêtes d’outils, exécutez les outils autorisés et renvoyez les résultats |
| Autres valeurs | Conservez la réponse et traitez-la selon le protocole du modèle sélectionné ; ne supposez pas qu’il s’agit nécessairement d’une complétion de texte |
Dans une boucle d’appel d’outil, ajoutez d’abord le bloc de contenu complet de l’assistant à l’historique, puis renvoyez-le avec tool_result dans le contenu utilisateur ; tool_use_id doit correspondre à la requête d’origine. Ne convertissez pas directement les requêtes d’outils en un seul passage de texte brut.
Multi-tours et diffusion
Section intitulée « Multi-tours et diffusion »Envoyez chaque fois l’historique à conserver ; l’interface elle-même ne stocke pas les conversations pour l’application. La diffusion utilise message_stop pour indiquer la fin d’un message ; recevoir un texte partiel ne signifie pas que la requête est terminée. Voir Sortie en diffusion pour plus de détails.
Pour les détails du protocole, consultez Notes d’utilisation des Messages Anthropic . La disponibilité des paramètres étendus de ce site est déterminée par le catalogue de modèles et les réponses réelles.
