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à.
Utilizzo dell’API Converse
L'API Converse fornisce un'interfaccia unificata per interagire con i modelli Amazon Nova. Riduce i dettagli specifici del modello e fornisce un modo coerente per gestire conversazioni a più turni, richieste di sistema e risposte in streaming su tutti i modelli Amazon Nova.
Argomenti
Struttura delle richieste
-
Conversazioni a turni multipli: mantieni il contesto tra più scambi
-
Istruzioni di sistema: istruzioni di sistema come personaggi o linee guida di risposta
-
Chat documentale: interagisci e interroga documenti o raccolte di documenti
-
Visione: elabora e analizza immagini e video
-
Utilizzo degli strumenti: consente ai modelli di utilizzare strumenti esterni e APIs
-
Guardrails: applica il filtraggio dei contenuti e i controlli di sicurezza
-
Ragionamento: pensiero esteso per la risoluzione di problemi complessi
Una richiesta API Converse di base include l'ID del modello e un elenco di messaggi:
import boto3 bedrock = boto3.client('bedrock-runtime', region_name='us-east-1') response = bedrock.converse( modelId='us.amazon.nova-2-lite-v1:0', messages=[ { 'role': 'user', 'content': [{'text': 'What is machine learning?'}] } ] ) content_list = response["output"]["message"]["content"] # Extract the first text block text = next((item["text"] for item in content_list if "text" in item), None) if text is not None: print(text)
Utilizzo delle istruzioni di sistema
I prompt di sistema forniscono contesto e istruzioni al modello:
import boto3 bedrock = boto3.client('bedrock-runtime', region_name='us-east-1') response = bedrock.converse( modelId='us.amazon.nova-2-lite-v1:0', system=[ {'text': 'You are a helpful AI assistant specializing in cloud computing.'} ], messages=[ { 'role': 'user', 'content': [{'text': 'Explain serverless computing.'}] } ] ) # Print the response text content_list = response["output"]["message"]["content"] text = next((item["text"] for item in content_list if "text" in item), None) if text is not None: print(text)
Parametri di inferenza
Controlla l'output del modello utilizzando i parametri di inferenza. Di seguito sono riportati i parametri di inferenza disponibili.
-
maxTokens (intero): numero massimo di token da generare (fino a 65.000). Se non specificato, il modello utilizza un valore predefinito dinamico basato sul contesto della richiesta.
-
temperature (float): controlla la casualità (0,0-1,0, impostazione predefinita 0,7). I valori più bassi rendono l'output più deterministico
-
topP (float): soglia di campionamento del nucleo (0-1, impostazione predefinita 0,9). I valori più bassi rendono l'output più mirato
-
stopSequences (array): sequenze di caratteri che interrompono la generazione quando vengono incontrate
Esempio:
import boto3 bedrock = boto3.client('bedrock-runtime', region_name='us-east-1') response = bedrock.converse( modelId='us.amazon.nova-2-lite-v1:0', messages=[ { 'role': 'user', 'content': [{'text': 'Write a short story.'}] } ], inferenceConfig={ 'maxTokens': 512, 'temperature': 0.7, 'topP': 0.9, 'stopSequences': ['END'] } ) content_list = response["output"]["message"]["content"] text = next((item["text"] for item in content_list if "text" in item), None) if text is not None: print(text)
Usare il ragionamento
Nova 2 Lite supporta il pensiero esteso per la risoluzione di problemi complessi. Abilita il ragionamento con. reasoningConfig
Per impostazione predefinita, il ragionamento è disabilitato per ottimizzare la velocità e i costi delle query semplici. Quando hai bisogno di andare oltre queste semplici attività, puoi abilitare il ragionamento. Nova 2 offre un controllo flessibile sulla profondità del ragionamento attraverso tre livelli di sforzo:
- Sforzo basso ()
maxReasoningEffort: "low" -
IDEALE PER: ATTIVITÀ CON MAGGIORE COMPLESSITÀ CHE RICHIEDONO UN PENSIERO STRUTTURATO. Ad esempio, è possibile utilizzarlo per suggerimenti di revisione e miglioramento del codice laddove il modello debba considerare attentamente la qualità del codice esistente, attività di analisi che richiedono un'attenta considerazione di più fattori o scenari di risoluzione dei problemi che traggono vantaggio da un approccio metodico. Lo sforzo ridotto è ideale per attività complesse in cui il ragionamento di base migliora la precisione senza richiedere una pianificazione approfondita in più fasi.
- Sforzo medio ()
maxReasoningEffort: "medium" -
IDEALE PER: ATTIVITÀ IN PIÙ FASI E FLUSSI DI LAVORO DI CODIFICA. Ad esempio, è possibile utilizzarlo per lo sviluppo e il debug di software in cui il modello deve comprendere la struttura del codice esistente prima di implementare le modifiche, la generazione di codice che richiede il coordinamento tra più file o componenti, calcoli in più fasi con interdipendenze o attività di pianificazione con più vincoli. Lo sforzo medio è ottimale per i flussi di lavoro agentici che coordinano più strumenti e richiedono che il modello mantenga il contesto in diverse operazioni sequenziali.
- Sforzo elevato ()
maxReasoningEffort: "high" -
IDEALE PER: RAGIONAMENTO MATEMATICO E RISOLUZIONE AVANZATA DEI PROBLEMI. Ad esempio, è possibile utilizzarlo per problemi e dimostrazioni matematiche avanzati che richiedono step-by-step verifiche rigorose, analisi scientifiche e attività di ricerca che richiedono indagini approfondite, progettazione di sistemi complessi con considerazioni architettoniche su più dimensioni o scenari decisionali critici con implicazioni significative. Un impegno elevato garantisce la massima precisione per le attività che richiedono un ragionamento sofisticato, un'attenta valutazione delle alternative e una convalida approfondita delle conclusioni.
Gli esempi seguenti mostrano diversi livelli di sforzo di ragionamento:
Parametri di ragionamento:
Di seguito sono riportati i parametri di ragionamento
-
type:enabledodisabled(impostazione predefinita:disabled) -
maxReasoningEffort:lowmedium, ohigh. Questo è necessario quando il ragionamento è abilitato.
Nota
Temperature, TopP e TopK non possono essere utilizzati con maxReasoningEffort set to. high Ciò causerà un errore.
La risposta include il contenuto del ragionamento:
{ "output": { "message": { "role": "assistant", "content": [ { "reasoningContent": { "reasoningText": { "text": "[REDACTED]" } } }, { "text": "Based on the premises, we can conclude..." } ] } }, "stopReason": "end_turn" }
Nota
Con Amazon Nova 2, i contenuti di ragionamento vengono visualizzati come[REDACTED]. I token di ragionamento ti verranno comunque addebitati perché contribuiscono a migliorare la qualità dell'output. Includiamo ora questo campo nella struttura delle risposte per preservare la possibilità di esporre il contenuto del ragionamento in futuro. Stiamo lavorando attivamente con i clienti per determinare l'approccio migliore per far emergere il processo di ragionamento del modello.