CCAI Transcription ti consente di convertire i dati audio in streaming in testo trascritto in tempo reale. Agent Assist formula suggerimenti in base al testo, pertanto i dati audio devono essere convertiti prima di poter essere utilizzati. Puoi anche utilizzare l'audio in streaming trascritto con CCAI Insights per raccogliere dati in tempo reale sulle conversazioni degli agenti (ad esempio, Topic Modeling).
Esistono due modi per trascrivere l'audio in streaming da utilizzare con CCAI: utilizzando la funzionalità SIPREC o effettuando chiamate gRPC con dati audio come payload. Questa pagina descrive il processo di trascrizione dei dati audio in streaming utilizzando le chiamate gRPC.
CCAI Transcription funziona utilizzando il riconoscimento vocale in streaming di Speech-to-Text. Speech-to-Text offre più modelli di riconoscimento, standard e avanzati. La trascrizione CCAI è supportata a livello GA solo se utilizzata con il modello chiamata avanzata.
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 ai modelli avanzati di Speech-to-Text.
Creare un profilo di conversazione
Per creare un profilo conversazione, utilizza la
console Agent Assist o chiama il metodo create
sulla
risorsa ConversationProfile
direttamente.
Per la trascrizione CCAI, ti consigliamo di configurare ConversationProfile.stt_config
come InputAudioConfig
predefinito quando invii dati audio in una conversazione.
Ottenere trascrizioni durante l'esecuzione della conversazione
Per ottenere le trascrizioni in fase di runtime della conversazione, devi creare i partecipanti alla conversazione e inviare i dati audio per ciascun partecipante.
Creare partecipanti
Esistono tre tipi di
partecipante.
Per ulteriori dettagli sui ruoli, consulta la documentazione
di riferimento. Chiama il metodo create
su participant
e specifica role
. Solo un partecipante END_USER
o HUMAN_AGENT
può chiamare StreamingAnalyzeContent
, che è necessario per ottenere una
trascrizione.
Inviare dati audio e ricevere 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 nel flusso deve essere
InputAudioConfig
. (I campi configurati qui sostituiscono le impostazioni corrispondenti inConversationProfile.stt_config
.) Non inviare alcun input audio fino alla seconda richiesta.audioEncoding
deve essere impostato suAUDIO_ENCODING_LINEAR_16
oAUDIO_ENCODING_MULAW
.model
: questo è il modello di sintesi vocale che vuoi utilizzare per trascrivere l'audio. Imposta questo campo sutelephony
. La variante non influisce sulla qualità della trascrizione, pertanto puoi lasciare Variante del modello vocale non specificata o scegliere Usa la migliore disponibile.singleUtterance
deve essere impostato sufalse
per una qualità ottimale della trascrizione. Non devi aspettartiEND_OF_SINGLE_UTTERANCE
sesingleUtterance
èfalse
, ma puoi fare affidamento suisFinal==true
all'interno diStreamingAnalyzeContentResponse.recognition_result
per chiudere parzialmente lo stream.- Parametri aggiuntivi facoltativi: i seguenti parametri sono
facoltativi. Per ottenere l'accesso a questi parametri, contatta il tuo rappresentante di Google.
languageCode
:language_code
dell'audio. Il valore predefinito èen-US
.alternativeLanguageCodes
: altre lingue che potrebbero essere rilevate nell'audio. Agent Assist utilizza il campolanguage_code
per rilevare automaticamente la lingua all'inizio dell'audio e la mantiene in tutti i turni di conversazione successivi. Il campoalternativeLanguageCodes
ti consente di specificare più opzioni tra cui scegliere per Assistente agente.phraseSets
: il nome della risorsaphraseSet
adattamento del modello Speech-to-Text. Per utilizzare l'adattamento del modello con la trascrizione CCAI, devi prima crearephraseSet
utilizzando 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 alcuni
StreamingAnalyzeContentResponses
dallo stream.- Puoi chiudere a metà lo stream (o interrompere l'invio in alcune lingue come
Python) quando vedi
is_final
impostato sutrue
inStreamingAnalyzeContentResponse.recognition_result
. - Dopo aver chiuso a metà lo stream, il server invierà la risposta contenente la trascrizione finale, insieme a potenziali suggerimenti di Dialogflow o Agent Assist.
- Puoi chiudere a metà 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 del precedente.
- Invio di nuovo dell'audio: i dati audio generati dopo l'ultimo
speech_end_offset
della risposta conis_final=true
al nuovo orario di inizio dello stream devono essere inviati di nuovo aStreamingAnalyzeContent
per una migliore qualità della trascrizione.
- Invio di nuovo dell'audio: i dati audio generati dopo l'ultimo
Ecco il diagramma che illustra il funzionamento dello stream.
Esempio di codice di richiesta di riconoscimento di audio in streaming
Il seguente esempio di codice mostra come inviare una richiesta di trascrizione in streaming:
Python
Per eseguire l'autenticazione in Agent Assist, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.