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à.
Gestione della cronologia chat
Le risposte di Amazon Nova 2 Sonic includono trascrizioni ASR (Automatic Speech Recognition) per le voci degli utenti e degli assistenti. La memorizzazione della cronologia chat è una buona pratica, non solo per scopi di registrazione, ma anche per riprendere le sessioni quando la connessione viene chiusa inaspettatamente. Ciò consente al client di inviare il contesto a Nova Sonic per continuare la conversazione senza interruzioni.
Per ulteriori informazioni sulla gestione della cronologia chat, consulta le seguenti risorse:
Invio della cronologia chat
La cronologia delle conversazioni può essere inclusa una sola volta, dopo la richiesta di sistema/riconoscimento vocale e prima dell'inizio dello streaming audio. La cronologia complessiva della chat non può superare i 40 KB. Il diagramma seguente mostra quando la cronologia chat viene trasmessa durante il ciclo di vita dell'evento:
Ogni messaggio storico richiede tre eventi:contentStart, e. textInput contentEnd
Schema degli eventi per messaggio:
-
contentStart- Definisce il ruolo e la configurazione del messaggio{ "event": { "contentStart": { "promptName": "<prompt-id>", "contentName": "<content-id>", "type": "TEXT", "interactive": true, "role": "ASSISTANT", "textInputConfiguration": { "mediaType": "text/plain" } } } } -
textInput- Contiene il contenuto effettivo del messaggio. Un TextInput non può essere più grande di 1 KB. In tal caso, suddividilo in più TextInput nello stesso blocco di contenuto. Se la conversazione supera i 40 KB, taglia la cronologia generale della chat.{ "event": { "textInput": { "promptName": "<prompt-id>", "contentName": "<content-id>", "content": "Take your time, Don. I'll be here when you're ready." } } } -
contentEnd- Segna la fine del messaggio{ "event": { "contentEnd": { "promptName": "<prompt-id>", "contentName": "<content-id>" } } }
Ripeti questi tre eventi per ogni messaggio nella cronologia chat, alternando i ruoli UTENTE e ASSISTENTE.
Considerazioni importanti:
-
La cronologia chat può essere inclusa solo una volta per sessione
-
La cronologia chat deve essere inviata dopo la richiesta del sistema e prima dell'inizio dello streaming audio
-
Tutti i messaggi storici devono essere inviati prima di iniziare lo streaming audio
-
Ogni messaggio deve specificare il ruolo USER o ASSISTANT
-
Utilizza il contenuto della trascrizione memorizzato dagli eventi TextOutput come valore del contenuto in TextInput
Ricezione di trascrizioni ASR
Durante una conversazione, Amazon Nova 2 Sonic invia trascrizioni ASR tramite eventi di output. Ogni trascrizione viene fornita come una sequenza di tre eventi: contentStart, textOutput e contentEnd.
Esempio: trascrizione vocale dell'utente:
1. ContentStart: indica l'inizio di una trascrizione:
{ "event": { "contentStart": { "additionalModelFields": "{\"generationStage\":\"FINAL\"}", "completionId": "<completion-id>", "contentId": "<content-id>", "promptName": "<prompt-id>", "role": "USER", "sessionId": "<session-id>", "textOutputConfiguration": { "mediaType": "text/plain" }, "type": "TEXT" } } }
2. TextOutput: contiene il contenuto effettivo della trascrizione:
{ "event": { "textOutput": { "completionId": "<completion-id>", "content": "hello how are you", "contentId": "<content-id>", "promptName": "<prompt-id>", "role": "USER", "sessionId": "<session-id>" } } }
3. contentEnd - Segna la fine della trascrizione:
{ "event": { "contentEnd": { "completionId": "<completion-id>", "contentId": "<content-id>", "promptName": "<prompt-id>", "sessionId": "<session-id>", "stopReason": "PARTIAL_TURN", "type": "TEXT" } } }
Lo stesso schema a tre eventi si applica sia ai ruoli USER che ASSISTANT. Estrai il content campo dall'textOutputevento e il role campo dall'contentStartevento per creare la cronologia chat.
Best practice
Memorizza sempre la cronologia chat per abilitare:
-
Riprese delle sessioni su diversi dispositivi
-
Registrazione e controllo delle conversazioni
-
Conservazione del contesto per le interazioni successive
Importante: quando salvate la cronologia delle chat, utilizzate gli output di testo basati sul relativo GenerationStage:
-
Speculativo: un'anteprima di ciò che Nova 2 Sonic intende dire, generato prima dell'inizio della sintesi audio
-
Finale: l'effettiva trascrizione a livello di frase di ciò che è stato pronunciato nella risposta audio
Salva sempre il testo FINALE in uscita nella cronologia chat, poiché rappresenta la registrazione accurata della conversazione.
Esempio di output FINALE (salvalo nella cronologia chat):
ContentStart event: { "additionalModelFields": "{\"generationStage\":\"FINAL\"}", "completionId": "<completion-id>", "contentId": "<content-id>", "role": "ASSISTANT", "sessionId": "<session-id>", "type": "TEXT" }
Esempio di output SPECULATIVO (anteprima opzionale, non per la cronologia):
ContentStart event: { "additionalModelFields": "{\"generationStage\":\"SPECULATIVE\"}", "completionId": "<completion-id>", "contentId": "<content-id>", "role": "ASSISTANT", "sessionId": "<session-id>", "type": "TEXT" }