Référence d’API - Amazon Nova

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 consulter la documentation complète de l'API, voir Tester un modèle déployé.

Invocation du terminal

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, sans diffusion en continu.

  • Invocation en streaming : utilisez l'InvokeEndpointWithResponseStreamAPI pour les demandes d'inférence en streaming en temps réel.

Format des demandes

Les modèles Amazon Nova prennent en charge deux formats de demande :

Format d'achèvement 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, "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 en toute simplicité :

{ "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 saisies 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(array) : Pour le format de fin du chat. Tableau d'objets de message avec role et content champs. 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. Le texte d'entrée à partir duquel générer.

  • max_tokens(entier) : nombre maximum de jetons à générer dans la réponse. Plage : 1 ou plus.

  • max_completion_tokens(entier) : alternative à max_tokens pour terminer le chat. Nombre maximum de jetons de complétion à générer.

  • temperature(float) : 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(float) : 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 sur true pour le streaming, false pour le non-streaming.

  • logprobs(booléen/entier) : pour terminer le chat, utilisez le booléen. Pour les complétions de texte, utilisez un entier pour le nombre de probabilités logarithmiques à renvoyer. Gamme : 1 à 20.

  • top_logprobs(entier) : nombre de jetons les plus susceptibles de renvoyer des probabilités de journalisation (discussions terminées uniquement).

  • allowed_token_ids(array) : liste des jetons IDs 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 s'il dépasse la limite.

  • stream_options(objet) : options pour le streaming des réponses. Contient un include_usage booléen pour inclure l'utilisation des jetons dans les réponses de streaming.

Format de la réponse

Le format de réponse dépend de la méthode d'appel 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 fin de texte (hors diffusion en continu)

Pour les demandes de complétion synchrone de texte :

{ "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'événements envoyés par le serveur (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 à la fin du texte

Pour les demandes de complétion de texte en streaming :

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 réalisation

  • object: Type d'objet renvoyé (« chat.completion », « text_completion », « chat.completion.chunk »)

  • created: horodatage Unix indiquant le moment où la complétion a été créée

  • model: Modèle utilisé pour la réalisation

  • choices: éventail de choix de complétion

  • usage: informations sur l'utilisation des jetons, y compris l'invite, l'achèvement et le nombre total de 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émental dans les réponses au streaming

  • reasoning: contenu de raisonnement lorsque reasoning_effort est utilisé

  • token_ids: tableau de jetons IDs pour le texte généré

Pour une documentation complète sur les API, consultez les InvokeEndpoint sections Référence d'InvokeEndpointWithResponseStream API et Référence d'API.