Utilizzo dell’API Converse - Amazon Nova

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

Nota

Questa documentazione è per Amazon Nova versione 1. Per informazioni su come utilizzare l'API Converse con Amazon Nova 2, visita Usare l'API Converse.

Un metodo per invocare i modelli di comprensione di Amazon Nova (Amazon Nova Micro, Lite, Pro e Premier) è tramite l’API Converse. I componenti descritti in precedenza vengono utilizzati mantenendo al contempo uno schema coerente tra i fornitori di modelli. Questo approccio offre un modo comodo per implementare più applicazioni portatili sfruttando un’API coerente, consentendo di trasferire più facilmente le applicazioni esistenti che utilizzano altri modelli sui modelli Nova. L’API Converse supporta le seguenti caratteristiche del modello.

  • Converse: sono supportate le conversazioni di base a più turni con risposte memorizzate nel buffer (anziché in streaming)

  • ConverseStream: conversazioni a turni con risposta in streaming per una generazione più incrementale e un'atmosfera più interattiva

  • Prompt di sistema: istruzioni di sistema come utenti tipo o linee guida della risposta

  • Chat con documenti: interagisci e interroga documenti o raccolte di documenti

  • Visione: input di immagini e video

  • Utilizzo dello strumento: chiamata di funzioni per supportare vari strumenti esterni

  • Utilizzo degli strumenti di streaming: combina l’uso degli strumenti e la generazione di streaming in tempo reale

  • Protezioni: impediscono contenuti inappropriati o dannosi

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 per Python botocore, modifica il valore del campo read_timeout in botocore.config 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} ) )

Puoi utilizzare i modelli Amazon Nova con l’API Converse come faresti con qualsiasi altro modello. Imposta il modelId su uno dei seguenti per utilizzare i modelli Amazon Nova.

Amazon Nova Micro

Amazon Nova Lite

Amazon Nova Pro

Amazon Nova Premier

amazon. nova-micro-v1:0

amazzone. nova-lite-v1:0

amazzone. nova-pro-v1:0

amazzone. nova-premier-v1:0

L’API Converse supporta i seguenti parametri di inferenza trasmessi come oggetto JSON sotto l’attributo inferenceConfig:

  • maxTokens: il numero massimo di token da consentire nella risposta.

  • stopSequences: un elenco di sequenze di arresto. Una sequenza di arresto è una sequenza di caratteri che fa sì che il modello interrompa la generazione della risposta.

  • temperature: la probabilità che il modello selezioni opzioni con maggiore probabilità durante la generazione di una risposta.

  • topP: la percentuale di candidati più probabili che il modello considera per il token successivo.

Il parametro aggiuntivo “topK” può essere trasmesso attraverso l’attributo additionalModelRequestFields, come illustrato di seguito.

Ecco un esempio di come utilizzare l'API Converse con boto3, l' AWS SDK per Python con Amazon Nova Lite:

import boto3 import json client = boto3.client("bedrock-runtime") system = [{ "text": "You are a helpful assistant" }] messages = [ {"role": "user", "content": [{"text": "Write a short story about dragons"}]}, ] inf_params = {"maxTokens": 300, "topP": 0.1, "temperature": 0.3} additionalModelRequestFields = { "inferenceConfig": { "topK": 20 } } model_response = client.converse( modelId="us.amazon.nova-lite-v1:0", messages=messages, system=system, inferenceConfig=inf_params, additionalModelRequestFields=additionalModelRequestFields ) print("\n[Full Response]") print(json.dumps(model_response, indent=2)) print("\n[Response Content Text]") print(model_response["output"]["message"]["content"][0]["text"])

Per maggiori dettagli sull’API Converse e su come utilizzarla, consulta Carry out a conversation with the Converse API operations.