Utilizzo dell’API Converse - Amazon Nova

Utilizzo dell’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 più 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, 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 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

amazon.nova-lite-v1:0

amazon.nova-pro-v1:0

amazon.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’SDK AWS 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.