La trascrizione vocale consente di convertire i dati audio in streaming in testo trascritto in tempo reale. Agent Assist fornisce suggerimenti basati sul testo, pertanto i dati audio devono essere convertiti prima di poter essere utilizzati. Puoi anche utilizzare l'audio in streaming trascritto con Customer Experience Insights per raccogliere dati in tempo reale sulle conversazioni degli agenti (ad esempio, la modellazione degli argomenti).
Esistono due modi per trascrivere l'audio in streaming da utilizzare con Agent Assist: utilizzando la funzionalità SIPRECo effettuando chiamate gRPC con i dati audio come payload. Questa pagina descrive la procedura per trascrivere i dati audio in streaming utilizzando le chiamate gRPC.
La trascrizione vocale funziona utilizzando il riconoscimento vocale in streaming di Speech-to-Text streaming speech recognition. Speech-to-Text offre più modelli di riconoscimento, standard e avanzati. Agent Assist non limita i modelli che puoi utilizzare con la trascrizione vocale, ma la trascrizione vocale è supportata a livello di GA solo se utilizzata con il modello di telefonia o Chirp 3. Per una qualità di trascrizione ottimale, è consigliato il modello Chirp 3, a seconda della disponibilità regionale.
Prerequisiti
- Crea un progetto in Google Cloud.
- Abilita l'API Dialogflow.
- Contatta il tuo rappresentante di Google per assicurarti che il tuo account abbia accesso a modelli avanzati di Speech-to-Text.
Creare un profilo di conversazione
Per creare un profilo di conversazione, utilizza
la console di Agent Assist o chiama direttamente il metodo create sulla
ConversationProfile
risorsa.
Per la trascrizione vocale, ti consigliamo di configurare
ConversationProfile.stt_config come InputAudioConfig predefinito quando invii
dati audio in una conversazione.

Ottenere le trascrizioni durante il runtime della conversazione
Per ottenere le trascrizioni durante il runtime della conversazione, devi creare i partecipanti alla conversazione e inviare i dati audio per ogni partecipante.
Creare partecipanti
Esistono tre tipi di
partecipante.
Per ulteriori dettagli sui loro ruoli, consulta la reference
documentation. Chiama il metodo create sul participant e specifica il role. Solo un partecipante END_USER o HUMAN_AGENT può chiamare StreamingAnalyzeContent, necessario per ottenere una trascrizione.
Inviare dati audio e ottenere una trascrizione
Puoi utilizzare
StreamingAnalyzeContent
per inviare l'audio di un partecipante a Google e ottenere la trascrizione, con i
seguenti parametri:
La prima richiesta nello stream deve essere
InputAudioConfig. (I campi configurati qui sostituiscono le impostazioni corrispondenti inConversationProfile.stt_config.) Non inviare alcun input audio fino alla seconda richiesta.audioEncodingdeve essere impostato suAUDIO_ENCODING_LINEAR_16oAUDIO_ENCODING_MULAW.model: questo è il modello Speech-to-Text che vuoi utilizzare per trascrivere l'audio. Imposta questo campo suchirp_3. La variante non influisce sulla qualità della trascrizione, quindi puoi lasciare Variante del modello vocale non specificata o scegliere Usa la migliore disponibile.singleUtterancedeve essere impostato sufalseper una qualità di trascrizione ottimale. Non devi aspettartiEND_OF_SINGLE_UTTERANCEsesingleUtteranceèfalse, ma puoi fare affidamento suisFinal==trueall'interno diStreamingAnalyzeContentResponse.recognition_resultper chiudere parzialmente lo stream.- Parametri aggiuntivi facoltativi: i seguenti parametri sono
facoltativi. Per accedere a questi parametri, contatta il tuo rappresentante di Google.
languageCode:language_codedell'audio. Il valore predefinito èen-US.alternativeLanguageCodes: questa funzionalità è disponibile solo a livello di GA per il modello Chirp 3. Altre lingue che potrebbero essere rilevate nell'audio. Agent Assist utilizza il campolanguage_codeper rilevare automaticamente la lingua all'inizio dell'audio e la imposta come predefinita in tutti i turni di conversazione successivi. Il campoalternativeLanguageCodesti consente di specificare più opzioni tra cui Agent Assist può scegliere.phraseSets: il nome della risorsa Speech-to-Text model adaptationphraseSet.- Per configurare l'adattamento per il modello Chirp 3, aggiungi frasi in linea separate da interruzioni di riga, senza virgole.
- Per utilizzare l'adattamento del modello con altri modelli come
telephonyper la trascrizione vocale, devi prima creare ilphraseSetutilizzando l'API Speech-to-Text e specificare qui il nome della risorsa.
Dopo aver inviato la seconda richiesta con il payload audio, dovresti iniziare a ricevere alcune
StreamingAnalyzeContentResponsesdallo stream.- Puoi chiudere parzialmente lo stream (o interrompere l'invio in alcune lingue come Python) quando vedi
is_finalimpostato sutrueinStreamingAnalyzeContentResponse.recognition_result. - Dopo aver chiuso parzialmente lo stream, il server invierà la risposta contenente la trascrizione finale, insieme a potenziali suggerimenti di Dialogflow o suggerimenti di Agent Assist.
- Puoi chiudere parzialmente lo stream (o interrompere l'invio in alcune lingue come Python) quando vedi
Puoi trovare la trascrizione finale nelle seguenti posizioni:
StreamingAnalyzeContentResponse.message.content.- Se attivi le notifiche Pub/Sub, puoi visualizzare la trascrizione anche in Pub/Sub.
Avvia un nuovo stream dopo la chiusura di quello precedente.
- Reinvio dell'audio: i dati audio generati dopo l'ultimo
speech_end_offsetdella risposta conis_final=trueall'ora di inizio del nuovo stream devono essere inviati di nuovo aStreamingAnalyzeContentper una qualità di trascrizione ottimale.
- Reinvio dell'audio: i dati audio generati dopo l'ultimo
Di seguito è riportato il diagramma che illustra il funzionamento dello stream.

Esempio di codice della richiesta di riconoscimento in streaming
Il seguente esempio di codice illustra come inviare una richiesta di trascrizione in streaming.
Python
Per eseguire l'autenticazione in Agent Assist, configura le credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Per visualizzare i file Python per conversation_management e participant_management:
Vai al repository GitHub per i documenti Python.
Fai clic su Vai al file e inserisci il nome del file:
conversation_managementoparticipant_management.Fai clic su Invio.