Invocare i modelli di comprensione di Amazon Nova - Amazon Nova

Invocare i modelli di comprensione di Amazon Nova

I modelli di comprensione multimodale Amazon Nova sono disponibili per l’uso per l’inferenza tramite l’API Invoke (InvokeModel, InvokeModelWithResponseStream) e l’API Converse (Converse e ConverseStream). Per creare applicazioni conversazionali, consulta Carry out a conversation with the converse API operations. Entrambi i metodi API (Invoke e Converse) seguono un modello di richiesta molto simile, come descritto di seguito.

Le principali differenze tra l’API Invoke e l’API Converse sono le seguenti:

  • I parametri di inferenza come topK non sono supportati in Converse e devono essere passati in additionalModelRequestFields, mentre nell’API Invoke possono essere passati direttamente nei parametri di inferenza.

  • Il supporto dei documenti è limitato esclusivamente all’API Converse e non è supportato nell’API Invoke.

  • I formati di analisi delle risposte sono diversi tra i costrutti Invoke API e Convserse API.

  • Lo streaming delle risposte è diverso tra ConverseStream e InvokeModelWithStreaming.

Per invocare i modelli Amazon Nova, devi richiedere l’accesso a un modello base Amazon Bedrock in ogni regione in cui intendi usare i modelli.

Panoramica dell’API Messages

I modelli Amazon Nova Understanding usano l’API Messages, che consente l’invio di elenchi strutturati di messaggi di input contenenti testo, immagini, video e documenti. Il modello genera quindi il messaggio successivo nella conversazione. L’API Messages supporta sia query singole che conversazioni multi-turno senza stato, consentendo la creazione di chatbot e applicazioni di assistente virtuale. L’API gestisce gli scambi conversazionali tra l’utente e un modello Amazon Nova (assistente).

I modelli Amazon Nova sono addestrati per operare su turni di conversazione alternati tra utente e assistente. Quando crei un nuovo messaggio, specifichi i turni di conversazione precedenti con il parametro messages. Il modello genera quindi i messaggi successivi nella conversazione.

Ogni messaggio in ingresso deve essere un oggetto con un ruolo e un contenuto. Gli utenti possono specificare un singolo messaggio con il ruolo utente o includere più messaggi sia con ruoli utente che assistente. Tuttavia, il primo messaggio deve sempre usare il ruolo utente. Se viene usata la tecnica di precompilazione della risposta di Amazon Nova (includendo un messaggio finale con il ruolo di assistente), il modello continuerà a rispondere dal contenuto fornito. Questo approccio produrrà comunque una risposta con il ruolo di assistente.

Di seguito è riportato un singolo messaggio utente:

[{ "role": "user", "content": [{"text":"Hello, Nova"}] }]

Di seguito è riportato un esempio con più turni di conversazione:

[ {"role": "user", "content": [{"text": "Hello there."}]}, {"role": "assistant", "content": [{"text": "Hi, I'm Chatbot trained to answer your questions. How can I help you?"}]}, {"role": "user", "content": [{"text": "Can you explain LLMs in plain English?"}]} ]

Di seguito è riportato un esempio con una risposta parzialmente compilata da Amazon Nova:

[ {"role": "user", "content": [{"text":"Please describe yourself using only JSON"}]}, {"role": "assistant", "content": [{"text":"Here is my JSON description:\n{"}]} ]

Per informazioni sulla creazione di prompt per i modelli Amazon Nova, consulta Best practice di prompting per la comprensione del testo.

Uso del prompt di sistema

Puoi includere un prompt di sistema nella richiesta. Un prompt di sistema ti permette di fornire contesto e istruzioni ad Amazon Nova, ad esempio specificare un obiettivo o un ruolo particolare. Specifica un prompt di sistema nel campo system, come mostrato nell’esempio seguente:

[ {"text": "You are an expert SaS analyst......"} ]

Per esempi di come includere un prompt di sistema, consulta le sezioni seguenti: