Schéma de demande complet - Amazon Nova

Schéma de demande complet

Le schéma de demande est pratiquement identique entre l’API Invoke (streaming et non streaming) et l’API Converse. Il existe des différences subtiles liées au codage des données utiles d’images et de vidéos. Étant donné qu’Amazon Nova Micro ne prend pas en charge les images ou les vidéos en entrée, ces parties du schéma de demande ne s’appliquent pas à Amazon Nova Micro. Sinon, le schéma de demande est le même pour tous les modèles de compréhension Amazon Nova.

Important

Le délai d’expiration pour les appels d’inférence vers Amazon Nova est de 60 minutes. Par défaut, les clients du kit AWS SDK expirent au bout d’une minute. Nous vous recommandons d’augmenter le délai de lecture du client de votre kit AWS SDK à au moins 60 minutes. Par exemple, dans le kit SDK AWS Python botocore, modifiez la valeur du champ read_timeout dans botocore.config à au moins 3 600.

client = boto3.client( "bedrock-runtime", region_name="us-east-1", config=Config( connect_timeout=3600, # 60 minutes read_timeout=3600, # 60 minutes retries={'max_attempts': 1} ) )
{ "system": [ { "text": "string" } ], "messages": [ { "role": "user", //first turn should always be the user turn "content": [ { "text": "string" }, { "image": { "format": "jpeg" | "png" | "gif" | "webp", "source": { "bytes": image // Binary array (Converse API) or Base64-encoded string (Invoke API) } } }, { "video": { "format": "mkv" | "mov" | "mp4" | "webm" | "three_gp" | "flv" | "mpeg" | "mpg" | "wmv", "source": { // Option 1: Sending a S3 location "s3Location": { "uri": "string", // example: s3://my-bucket/object-key "bucketOwner": "string" // (Optional) example: "123456789012" }, // Option 2: Sending file bytes "bytes": video // Binary array (Converse API) or Base64-encoded string (Invoke API) } } } ] }, { "role": "assistant", "content": [ { "text": "string" //prefilling assistant turn } ] } ], "inferenceConfig":{ // all Optional, Invoke parameter names used in this example "maxTokens": int, // greater than 0, equal or less than 5k (default: dynamic*) "temperature": float, // greater than 0 and less than 1.0 (default: 0.7) "topP": float, // greater than 0, equal or less than 1.0 (default: 0.9) "topK": int, // 0 or greater (default: 50) "stopSequences": ["string"] }, "toolConfig": { // all Optional "tools": [ { "toolSpec": { "name": "string", //meaningful tool name (Max char: 64) "description": "string", //meaningful description of the tool "inputSchema": { "json": { // The JSON schema for the tool. For more information, see JSON Schema Reference "type": "object", "properties": { "arg1": { //arguments "type": "string", //argument data type "description": "string" //meaningful description } }, "required": [ "string" //args ] } } } } ], }, "toolChoice": { "auto": {} } //Amazon Nova models ONLY support tool choice of "auto" }

Les paramètres suivants sont obligatoires :

  • system : (facultatif) invite du système pour la demande.

    Une invite système est un moyen de fournir du contexte et des instructions Amazon Nova, par exemple en spécifiant un objectif ou un rôle particulier.

  • messages : (obligatoire) les messages d’entrée.

    • role : le rôle du tour de conversation. Les valeurs valides sont user et assistant.

    • content : (obligatoire) une liste des objets ContentBlock contenant le contenu de la conversation. Chaque objet contient une clé qui spécifie le type de contenu (text, image ou video). La valeur de l’objet dépend du type de clé. Les types suivants sont pris en charge pour la clé :

      • text : correspond à un objet contenant un seul champ, text, dont la valeur est l’invite textuelle pour le tour de conversation. Si le tour de conversation comprend également un objet image ou video, l’objet text est interprété comme une invite textuelle accompagnant l’image ou la vidéo.

      • image : (non pris en charge pour Amazon Nova Micro) correspond à un objet représentant le contenu de l’image et contenant les champs suivants :

        • format : (obligatoire) le format de l’image. Vous pouvez spécifier les formats d’image suivants :

          • jpeg

          • png

          • webp

          • gif

        • source : (obligatoire) les données de l’image. Pour l’API Invoke, il doit s’agir d’une chaîne d’image encodée en Base64. Pour l’API Converse, il doit s’agir d’un tableau d’octets.

        • bytes : (obligatoire) les données de l’image. Pour l’API Invoke, il doit s’agir d’une chaîne d’image encodée en Base64. Pour l’API Converse, il doit s’agir d’un tableau d’octets.

      • video : (non pris en charge par Amazon Nova Micro) correspond à un objet représentant le contenu vidéo et contenant les champs suivants :

        • format : (obligatoire) le format vidéo. Vous pouvez spécifier les valeurs suivantes :

          • mkv

          • mov

          • mp4

          • webm

          • three_gp

          • flv

          • mpeg

          • mpg

          • wmv

        • source : (obligatoire) la source des données vidéo. Vous pouvez spécifier une URI Amazon S3 ou les octets du fichier vidéo dans la demande.

          • uri : (obligatoire) l’URI Amazon S3 du fichier vidéo. Par exemple , “s3://my-bucket/object-key”

          • bucketOwner : (facultatif) l’ID du compte propriétaire du compartiment. Utilisez-le si vous invoquez le modèle à partir d’un compte distinct.

          • bytes : (obligatoire) les données de l’image. Pour l’API Invoke, il doit s’agir d’une chaîne d’image encodée en Base64. Pour l’API Converse, il doit s’agir d’un tableau d’octets.

  • inferenceConfig: : il s’agit des valeurs de configuration d’inférence qui peuvent être transmises dans l’inférence.

    • maxTokens : (facultatif) nombre maximum de jetons à générer avant l’arrêt.

      Notez que les modèles Amazon Nova peuvent arrêter de générer des jetons avant d’atteindre la valeur de maxTokens. La valeur maximale autorisée pour les nouveaux jetons est de 5 000.

    • temperature : (facultatif) quantité de randomisation injectée dans la réponse. Les valeurs valides sont comprises entre 0,00001 et 1 inclus. La valeur par défaut est 0.7.

    • topP : (facultatif) utilisez l’échantillonnage du noyau.

      Amazon Nova calcule la distribution cumulée de toutes les options pour chaque jeton suivant par ordre de probabilité décroissant et la coupe une fois qu’elle atteint une probabilité particulière spécifiée par topP. Vous devez modifier temperature ou topP, mais pas les deux. Les valeurs valides sont comprises entre 0 et 1 inclus. La valeur par défaut est 0.9.

    • topK : (facultatif) échantillonnez uniquement les premières options K pour chaque jeton suivant.

      Utilisez le paramètre topK pour supprimer les réponses à longue traîne et à faible probabilité. Les valeurs valides sont comprises entre 0 et 128. Par défaut, ce paramètre n’est pas utilisé.

      Note

      Lorsque vous utilisez l’API Converse avec le paramètre topK, un paramètre inferenceConfig supplémentaire doit être inclus dans un champ additionalModelRequestFields. Consultez Utilisation de l’API Converse pour obtenir un exemple de transmission de ces paramètres.

    • stopSequences : (facultatif) tableau de chaînes contenant des séquences d’arrêt. Si le modèle génère l’une de ces chaînes, la génération s’arrête et la réponse est renvoyée jusqu’à ce point.

    Parameter Default value Range
    temperature 0.7 0.00001-1
    topP 0.9 0-1
    topK Not used 0-128
  • toolConfig : (facultatif) objet JSON suivant le schéma ToolConfig, contenant la spécification et le choix de l’outil. Ce schéma est le même que celui suivi par l’API Converse