Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Référence d’API
Les modèles Amazon Nova SageMaker utilisent l'API SageMaker Runtime standard à des fins d'inférence. Pour une documentation complète sur l'API, voir Tester un modèle déployé.
Invocation des terminaux
Les modèles Amazon Nova SageMaker prennent en charge deux méthodes d'invocation :
-
Invocation synchrone : utilisez l'InvokeEndpointAPI pour les demandes d'inférence en temps réel et sans diffusion.
-
Invocation de streaming : utilisez l'InvokeEndpointWithResponseStreamAPI pour les demandes d'inférence de streaming en temps réel.
Format des demandes
Les modèles Amazon Nova prennent en charge deux formats de demande :
Format de complétion du chat
Utilisez ce format pour les interactions conversationnelles :
{ "messages": [ {"role": "user", "content": "string"} ], "max_tokens": integer, "max_completion_tokens": integer, "stream": boolean, "temperature": float, "top_p": float, "top_k": integer, "logprobs": boolean, "top_logprobs": integer, "reasoning_effort": "low" | "high", "allowed_token_ids": [integer], "truncate_prompt_tokens": integer, "stream_options": { "include_usage": boolean } }
Format de complétion du texte
Utilisez ce format pour générer du texte simple :
{ "prompt": "string", "max_tokens": integer, "stream": boolean, "temperature": float, "top_p": float, "top_k": integer, "logprobs": integer, "allowed_token_ids": [integer], "truncate_prompt_tokens": integer, "stream_options": { "include_usage": boolean } }
Format de complétion de chat multimodal
Utilisez ce format pour les entrées d'images et de texte :
{ "messages": [ { "role": "user", "content": [ {"type": "text", "text": "What's in this image?"}, {"type": "image_url", "image_url": {"url": "data:image/jpeg;base64,..."}} ] } ], "max_tokens": integer, "temperature": float, "top_p": float, "stream": boolean }
Paramètres de requête
-
messages(tableau) : pour le format de complétion du chat. Tableau d'objets de message aveccontentchampsroleet. Le contenu peut être une chaîne pour le texte uniquement ou un tableau pour les entrées multimodales. -
prompt(chaîne) : pour le format de complétion du texte. Texte d'entrée à partir duquel générer. -
max_tokens(entier) : nombre maximum de jetons à générer dans la réponse. Portée : 1 ou plus. -
max_completion_tokens(entier) : alternative à max_tokens pour terminer les discussions. Nombre maximum de jetons d'achèvement à générer. -
temperature(flottant) : contrôle le caractère aléatoire de la génération. Plage : 0,0 à 2,0 (0,0 = déterministe, 2,0 = caractère aléatoire maximal). -
top_p(flottant) : seuil d'échantillonnage du noyau. Plage : 1e-10 à 1,0. -
top_k(entier) : limite la sélection des jetons aux K jetons les plus probables. Plage : -1 ou plus (-1 = aucune limite). -
stream(booléen) : s'il faut diffuser la réponse. Réglez surtruepour le streaming,falsepour le non-streaming. -
logprobs(boolean/integer) : Pour compléter le chat, utilisez une valeur booléenne. Pour compléter le texte, utilisez un entier pour le nombre de probabilités de log à renvoyer. Gamme : 1 à 20. -
top_logprobs(entier) : nombre de jetons les plus susceptibles de renvoyer des probabilités de log (complétion des discussions uniquement). -
reasoning_effort(chaîne) : niveau d'effort de raisonnement. Options : « faible », « élevée » (fin des discussions pour les modèles personnalisés de Nova 2 Lite uniquement). -
allowed_token_ids(tableau) : liste des identifiants de jetons dont la génération est autorisée. Limite la sortie aux jetons spécifiés. -
truncate_prompt_tokens(entier) : tronquez l'invite à ce nombre de jetons si elle dépasse la limite. -
stream_options(objet) : options de diffusion des réponses. Contient une valeurinclude_usagebooléenne pour inclure l'utilisation de jetons dans les réponses en streaming.
Format de la réponse
Le format de réponse dépend de la méthode d'invocation et du type de demande :
Réponse à la fin du chat (hors diffusion)
Pour les demandes de fin de chat synchrone :
{ "id": "chatcmpl-123e4567-e89b-12d3-a456-426614174000", "object": "chat.completion", "created": 1677652288, "model": "nova-micro-custom", "choices": [ { "index": 0, "message": { "role": "assistant", "content": "Hello! I'm doing well, thank you for asking. How can I help you today?", "refusal": null, "reasoning": null, "reasoning_content": null }, "logprobs": { "content": [ { "token": "Hello", "logprob": -0.31725305, "bytes": [72, 101, 108, 108, 111], "top_logprobs": [ { "token": "Hello", "logprob": -0.31725305, "bytes": [72, 101, 108, 108, 111] }, { "token": "Hi", "logprob": -1.3190403, "bytes": [72, 105] } ] } ] }, "finish_reason": "stop", "stop_reason": null, "token_ids": [9906, 0, 358, 2157, 1049, 11, 1309, 345, 369, 6464, 13] } ], "usage": { "prompt_tokens": 9, "completion_tokens": 12, "total_tokens": 21, "prompt_tokens_details": { "cached_tokens": 0 } }, "prompt_token_ids": [9906, 0, 358] }
Réponse de complétion de texte (sans diffusion en continu)
Pour les demandes de complétion de texte synchrones :
{ "id": "cmpl-123e4567-e89b-12d3-a456-426614174000", "object": "text_completion", "created": 1677652288, "model": "nova-micro-custom", "choices": [ { "index": 0, "text": "Paris, the capital and most populous city of France.", "logprobs": { "tokens": ["Paris", ",", " the", " capital"], "token_logprobs": [-0.31725305, -0.07918124, -0.12345678, -0.23456789], "top_logprobs": [ { "Paris": -0.31725305, "London": -1.3190403, "Rome": -2.1234567 }, { ",": -0.07918124, " is": -1.2345678 } ] }, "finish_reason": "stop", "stop_reason": null, "prompt_token_ids": [464, 6864, 315, 4881, 374], "token_ids": [3915, 11, 279, 6864, 323, 1455, 95551, 3363, 315, 4881, 13] } ], "usage": { "prompt_tokens": 5, "completion_tokens": 11, "total_tokens": 16, "prompt_tokens_details": { "cached_tokens": 0 } } }
Réponse en streaming à la fin du chat
Pour les demandes de fin de chat en streaming, les réponses sont envoyées sous forme d' Server-Sent événements (SSE) :
data: { "id": "chatcmpl-123e4567-e89b-12d3-a456-426614174000", "object": "chat.completion.chunk", "created": 1677652288, "model": "nova-micro-custom", "choices": [ { "index": 0, "delta": { "role": "assistant", "content": "Hello", "refusal": null, "reasoning": null, "reasoning_content": null }, "logprobs": { "content": [ { "token": "Hello", "logprob": -0.31725305, "bytes": [72, 101, 108, 108, 111], "top_logprobs": [ { "token": "Hello", "logprob": -0.31725305, "bytes": [72, 101, 108, 108, 111] } ] } ] }, "finish_reason": null, "stop_reason": null } ], "usage": null, "prompt_token_ids": null } data: { "id": "chatcmpl-123e4567-e89b-12d3-a456-426614174000", "object": "chat.completion.chunk", "created": 1677652288, "model": "nova-micro-custom", "choices": [ { "index": 0, "delta": { "content": "! I'm" }, "logprobs": null, "finish_reason": null, "stop_reason": null } ], "usage": null } data: { "id": "chatcmpl-123e4567-e89b-12d3-a456-426614174000", "object": "chat.completion.chunk", "created": 1677652288, "model": "nova-micro-custom", "choices": [ { "index": 0, "delta": {}, "finish_reason": "stop", "stop_reason": null } ], "usage": { "prompt_tokens": 9, "completion_tokens": 12, "total_tokens": 21, "prompt_tokens_details": { "cached_tokens": 0 } } } data: [DONE]
Réponse en streaming par complétion de texte
Pour les demandes de saisie de texte en continu :
data: { "id": "cmpl-123e4567-e89b-12d3-a456-426614174000", "object": "text_completion", "created": 1677652288, "model": "nova-micro-custom", "choices": [ { "index": 0, "text": "Paris", "logprobs": { "tokens": ["Paris"], "token_logprobs": [-0.31725305], "top_logprobs": [ { "Paris": -0.31725305, "London": -1.3190403 } ] }, "finish_reason": null, "stop_reason": null } ], "usage": null } data: { "id": "cmpl-123e4567-e89b-12d3-a456-426614174000", "object": "text_completion", "created": 1677652288, "model": "nova-micro-custom", "choices": [ { "index": 0, "text": ", the capital", "logprobs": null, "finish_reason": null, "stop_reason": null } ], "usage": null } data: { "id": "cmpl-123e4567-e89b-12d3-a456-426614174000", "object": "text_completion", "created": 1677652288, "model": "nova-micro-custom", "choices": [ { "index": 0, "text": "", "finish_reason": "stop", "stop_reason": null } ], "usage": { "prompt_tokens": 5, "completion_tokens": 11, "total_tokens": 16 } } data: [DONE]
Explication des champs de réponse
-
id: Identifiant unique pour la complétion -
object: Type d'objet renvoyé (« chat.completion », « text_completion », « chat.completion.chunk ») -
created: horodatage Unix de la date de création de la complétion -
model: Modèle utilisé pour la réalisation -
choices: Tableau de choix de complétion -
usage: informations sur l'utilisation des jetons, y compris l'invite, l'achèvement et le total des jetons -
logprobs: Enregistrez les informations de probabilité pour les jetons (sur demande) -
finish_reason: Raison pour laquelle le modèle a cessé de générer (« stop », « length », « content_filter ») -
delta: contenu incrémentiel dans les réponses en streaming -
reasoning: raisonner le contenu lorsque reasoning_effort est utilisé -
token_ids: Tableau d'identifiants de jetons pour le texte généré
Pour une documentation complète sur l'API, consultez la section Référence de InvokeEndpoint l'InvokeEndpointWithResponseStream API et Référence de l'API.