Schema di richiesta completo
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, il timeout dei client AWS SDK è 1 minuto. Consigliamo di aumentare il periodo di timeout di lettura del 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
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" }
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 sonousereassistant. -
content(obbligatorio): un elenco di oggetti ContentBlock che includono contenuti per la conversazione. Ogni oggetto contiene una chiave che specifica il tipo di contenuto (text,imageovideo). 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 oggettoimageovideo, l’oggettotextviene 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 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.
-
-
-
-
-
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 tratemperatureotopP, 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
topKper 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 parametroinferenceConfigaggiuntivo in un campoadditionalModelRequestFields. Consulta la pagina Utilizzo dell’API Converse 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.
Parameter Default value Range temperature0.7 0.00001-1 topP0.9 0-1 topKNot used 0-128 -
-
toolConfig(facoltativo): oggetto JSON che segue lo schema ToolConfig, contenente lo strumento scelto e le relative specifiche. Questo schema è lo stesso seguito dall’API Converse.