

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Schema di richiesta completo
<a name="complete-request-schema"></a>

Lo schema di richiesta è quasi identico tra l’API Invoke (streaming e non streaming) e l’API Converse. Esistono lievi differenze relative alla codifica del payload di immagini e video. Poiché Amazon Nova Micro non supporta immagini o video come input, le parti dello schema di richiesta relative a questi contenuti non si applicano ad Amazon Nova Micro. Per il resto, lo schema di richiesta è lo stesso per tutti i modelli di comprensione di Amazon Nova.

**Importante**  
Il periodo di timeout per le chiamate di inferenza ad Amazon Nova è 60 minuti. Per impostazione predefinita, i client AWS SDK scadono dopo 1 minuto. Ti consigliamo di aumentare il periodo di timeout di lettura del tuo client AWS SDK ad almeno 60 minuti. Ad esempio, per l’ AWS SDK Python botocore, modifica il valore del campo `read_timeout` in [botocore.config](https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#) ad almeno 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)
            }
          }
        },
        {
            "audio": {
                "format": "mp3" | "opus" | "wav" | "aac" | "flac" | "mp4" | "ogg" | "mkv",
                "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": audio // 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"],
    "reasoningConfig": {
        "type": "string", //"enabled"/"disabled" (default: "disabled")
        "maxReasoningEffort": "string" // "low", "medium", "high"
    }
  },
  "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": { //can select one of three options
      "auto": {},
      "any": {},
      "tool": {
        "name": "string" //name of tool
      }
    }
}
```

I seguenti sono parametri obbligatori:
+ `system` (facoltativo): il prompt di sistema per la richiesta.

  Un prompt di sistema è un modo per fornire contesto e istruzioni ad Amazon Nova, ad esempio specificare un obiettivo o un ruolo particolare.
+ `messages` (obbligatorio): i messaggi di input.
  + `role`: Il ruolo del turno di conversazione. I valori validi sono `user` e `assistant`.
  + `content`— (obbligatorio) Un elenco di [ContentBlock](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_ContentBlock.html)oggetti che contengono contenuti per la conversazione. Ogni oggetto contiene una chiave che specifica il tipo di contenuto (`text`, `image``video`, o`audio`). Il valore dell’oggetto dipende dal tipo di chiave. I tipi supportati per la chiave sono i seguenti:
    + `text`: viene mappato a un oggetto che contiene un singolo campo, `text`, il cui valore è il prompt di testo per il turno della conversazione. Se il turno della conversazione include anche un oggetto `image` o `video`, l’oggetto `text` viene interpretato come un prompt di testo che accompagna l’immagine o video.
    + `image` (non supportato per Amazon Nova Micro): viene mappato a un oggetto che rappresenta il contenuto immagine e contiene i seguenti campi:
      + `format` (obbligatorio): il formato dell’immagine. Puoi specificare i seguenti formati di immagine:
        + `jpeg`
        + `png`
        + `webp`
        + `gif`
      + `source` (obbligatorio): i dati dell’immagine. Per l’API Invoke, deve essere una stringa di immagine con codifica Base64. Per l’API Converse, deve essere un array di byte.
      + `bytes` (obbligatorio): i dati dell’immagine. Per l’API Invoke, deve essere una stringa di immagine con codifica Base64. Per l’API Converse, deve essere un array di byte.
    + `video` (non supportato per Amazon Nova Micro): viene mappato a un oggetto che rappresenta il contenuto video e contiene i seguenti campi:
      + `format` (obbligatorio): il formato del video. Puoi specificare le seguenti valori:
        + `mkv`
        + `mov`
        + `mp4`
        + `webm`
        + `three_gp`
        + `flv`
        + `mpeg`
        + `mpg`
        + `wmv`
      + `source` (obbligatorio): l’origine dei dati del video. Puoi specificare un URI Amazon S3 o i byte del file video nella richiesta.
        + `uri` (obbligatorio): l’URI Amazon S3 del file video. Ad esempio, `“s3://my-bucket/object-key”`
        + `bucketOwner` (facoltativo): l’ID account proprietario del bucket. Utilizzalo se invochi il modello da un account diverso.
        + `bytes`— (obbligatorio) I dati video. Per l'API Invoke, deve essere una stringa video con codifica Base64. Per l’API Converse, deve essere un array di byte.
    + `audio`— (solo) Esegue il mapping su un oggetto che rappresenta contenuto audio e contiene i seguenti campi:
      + `format`— (obbligatorio) Il formato audio. Puoi specificare le seguenti valori:
        + `aac`
        + `flac`
        + `mkv`
        + `mp3`
        + `mp4`
        + `ogg`
        + `opus`
        + `wav`
      + `source`— (obbligatorio) La fonte dei dati audio. Puoi specificare un URI Amazon S3 o i byte del file audio nella richiesta.
        + `uri`— (obbligatorio) L'URI Amazon S3 del file audio. Ad esempio, `"s3://my-bucket/object-key"`
        + `bucketOwner` (facoltativo): l’ID account proprietario del bucket. Utilizzalo se invochi il modello da un account diverso.
        + `bytes`— (obbligatorio) I dati audio. Per l'API Invoke, deve essere una stringa audio con codifica Base64. Per l’API Converse, deve essere un array di byte.
+ `inferenceConfig:` si tratta di valori di configurazione di inferenza che possono essere trasmessi in inferenza.
  + `maxTokens` (facoltativo): il numero massimo di token da generare prima dell’interruzione.

    Tieni presente che i modelli Amazon Nova potrebbero interrompere la generazione di token prima di raggiungere il valore `maxTokens`. Il valore massimo consentito per il numero di nuovi token è 5.000.
  + `temperature` (facoltativo): la quantità di casualità inserita nella risposta. I valori validi sono compresi tra 0,00001 e 1 (inclusi). Il valore predefinito è 0,7.
  + `topP` (facoltativo): utilizzo del campionamento nucleus.

    Amazon Nova calcola la distribuzione cumulativa di tutte le opzioni per ogni token successivo in ordine di probabilità decrescente e la interrompe quando raggiunge un particolare valore specificato da `topP`. Devi modificare un solo valore tra `temperature` o `topP`, non entrambi. I valori validi sono compresi tra 0 e 1, inclusi. Il valore predefinito è 0,9.
  + `topK` (facoltativo): campionamento eseguito solo dalle opzioni top K per ogni token successivo.

    Utilizza il parametro `topK` per rimuovere le risposte long tail a bassa probabilità. I valori validi sono compresi tra 0 e 128. Il valore predefinito è il non utilizzo del parametro.
**Nota**  
Quando utilizzi l’API Converse con il parametro `topK`, devi includere un parametro `inferenceConfig` aggiuntivo in un campo `additionalModelRequestFields`. Consulta la pagina [Utilizzo dell’API Converse](using-converse-api.md) per un esempio della trasmissione di questi parametri.
  + `stopSequences` (facoltativo): matrice di stringhe che contiene sequenze di interruzione. Se il modello genera una qualsiasi di queste stringhe, la generazione sarà interrotta e la risposta sarà restituita fino a quel punto.
  + `reasoningConfig`— (Solo Amazon Nova Pro e Amazon Nova Lite) I valori di configurazione del ragionamento che possono essere passati in inferenza.
    + `type`— (Facoltativo) Se abilitare o disabilitare il ragionamento. È possibile utilizzare i valori `enabled` e `disabled`. Il valore predefinito è `disabled`.
    + `maxReasoningEffort`— Lo sforzo computazionale utilizzato nel processo di ragionamento. Le opzioni valide sono `low``medium`, o. `high` In streaming, durante l'uso `low` e `medium` le impostazioni, i contenuti di ragionamento verranno trasmessi in streaming man mano che ogni token viene generato durante l'utilizzo`ConverseStream`, tuttavia `high` funziona in modo diverso, applicando approcci diversi per migliorare la qualità, con il risultato di generare tutto il contenuto del ragionamento in un'ultima parte.
**Nota**  
Quando si utilizza l'API Converse con il `reasoningConfig` parametro, il parametro deve essere inserito nel campo. `additionalModelRequestFields` Consulta la pagina [Utilizzo dell’API Converse](using-converse-api.md) per un esempio della trasmissione di questi parametri.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/nova/latest/userguide/complete-request-schema.html)
+ `toolConfig`— (Facoltativo) Oggetto JSON che segue [ToolConfig lo schema](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_ToolConfiguration.html), contenente le specifiche e la scelta dell'utensile. Questo schema è lo stesso seguito dall’[API Converse](https://docs.aws.amazon.com/bedrock/latest/userguide/tool-use.html).
  + `toolChoice`— (Facoltativo) Specificate gli strumenti che il modello può utilizzare. È possibile selezionare una delle tre opzioni:
    + `auto`— Il modello decide automaticamente se utilizzare gli strumenti e quali strumenti utilizzare.
    + `any`— Il modello deve utilizzare almeno uno degli strumenti forniti.
    + `tool`— Il modello deve utilizzare lo strumento specifico identificato dal nome.

# Aspetti salienti della struttura
<a name="complete-request-schema-response"></a>

Di seguito vengono illustrati gli elementi chiave della struttura di risposta restituita dalle `InvokeModel` funzioni non streaming `Converse` e. Per i dettagli sulla struttura di risposta completa e sulle strutture di richiesta e risposta per le funzioni di streaming, consulta la documentazione dell'API.

```
{
    "ResponseMetadata": {
        "RequestId": string,
        "HTTPStatusCode": int,
        "HTTPHeaders": {
            "date": string,
            "content-type": "application/json",
            "content-length": string,
            "connection": "keep-alive",
            "x-amzn-requestid": string
        },
        "RetryAttempts": 0
    },
    "output": {
        "message": {
            "role": "assistant",
            "content": [
                { // Optional
                    "reasoningContent": {
                        "reasoningText": {
                            "text": string
                        }
                    }
                },
                { // Optional
                    "toolUse": {
                        "toolUseId": string,
                        "name": string,
                        "input": object
                    }
                },
                { // Optional
                    "text": string
                },
                { // Optional
                    "image": {
                        "format": "png",
                        "source": {
                            "bytes": {
                                "bytes": image // Binary array (Converse API) or Base64-encoded string (Invoke API)
                            }
                        }
                    }
                }
            ]
        }
    },
    "stopReason": string, // "end_turn" | "content_filtered" | "max_tokens" | "malformed_model_output" | "malformed_tool_use" | etc.
    "usage": {
        "inputTokens": int,
        "outputTokens": int,
        "totalTokens": int
    },
    "metrics": {
        "latencyMs": int
    }
}
```

I seguenti sono gli elementi chiave di risposta:
+ `output`— (Obbligatorio) Contiene il messaggio di risposta del modello.
  + `message`— (Obbligatorio) Il messaggio di risposta dell'assistente.
    + `content`— (Obbligatorio) Un array di uno o più blocchi di contenuto che possono includere:
      + `reasoningContent`— (Facoltativo) Restituito se il ragionamento era abilitato. Contiene il testo del ragionamento, che sarà sempre presente `[REDACTED]` nella risposta.
      + `toolUse`— (Facoltativo) Restituito se è stato chiamato uno strumento. Contiene l'ID di utilizzo dello strumento, il nome e gli argomenti di input.
      + `text`— (Facoltativo) Restituito se il modello ha risposto con contenuto testuale.
      + `image`— (Facoltativo, solo) Restituito se il modello ha generato un'immagine. Il formato sarà sempre PNG per le immagini generate da.
+ `stopReason`— (Obbligatorio) Un valore enum che indica il motivo per cui il modello ha smesso di generare output. I valori supportati includono:
  + `end_turn`— È stata raggiunta la fine logica del turno.
  + `max_tokens`— L'output ha raggiunto il `maxTokens` limite impostato dall'utente o il limite massimo del token di output del modello.
  + `content_filtered`— L'output del modello ha violato la politica di intelligenza artificiale AWS responsabile.
  + `malformed_model_output`— Il modello ha prodotto un output non valido.
  + `malformed_tool_use`— Il modello ha prodotto un output non valido`toolUse`.
  + `service_unavailable`— Uno dei servizi di strumenti integrati non è stato raggiunto.
  + `invalid_query`— La query che il modello ha inviato allo strumento Web Grounding integrato non era valida.
  + `max_tool_invocations`— Indica che uno strumento integrato è stato richiamato ma non ha prodotto un risultato valido, anche dopo più tentativi.
+ `usage`— (Obbligatorio) Informazioni sull'utilizzo dei token, inclusi i token di input, i token di output e i token totali.
+ `metrics`— (Obbligatorio) Metriche delle prestazioni, inclusa la latenza totale di inferenza in millisecondi.