La funzionalità di trascrizione CCAI ti consente di convertire i dati audio in streaming in testo trascritto in tempo reale. Agent Assist fornisce 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, la modellazione degli argomenti).
Esistono due modi per trascrivere l'audio in streaming da utilizzare con CCAI: utilizzando la funzionalità SIPREC o effettuando chiamate gRPC con i dati audio come payload. Questa pagina descrive la procedura di trascrizione dei dati audio in streaming utilizzando le chiamate gRPC.
La trascrizione CCAI funziona utilizzando il riconoscimento vocale di audio in streaming di Speech-to-Text. Speech-to-Text offre più modelli di riconoscimento, standard e avanzati. La trascrizione CCAI è supportata solo a livello di GA se utilizzata con il modello di chiamate avanzate.
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 migliorati 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
risorsa ConversationProfile
.
Per la trascrizione con IA conversazionale, ti consigliamo di configurare ConversationProfile.stt_config
come InputAudioConfig
predefinito quando invii dati audio in una conversazione.
Ricevere le trascrizioni durante l'esecuzione della conversazione
Per ottenere le trascrizioni durante l'esecuzione della conversazione, devi creare i partecipanti alla conversazione e inviare i dati audio per ogni partecipante.
Creare partecipanti
Esistono tre tipi di
partecipanti.
Per ulteriori dettagli sui loro 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 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.audioEncoding
deve essere impostato suAUDIO_ENCODING_LINEAR_16
oAUDIO_ENCODING_MULAW
.model
: si tratta del modello Text-to-Speech che vuoi utilizzare per trascrivere l'audio. Imposta questo campo sutelephony
.- Per una qualità di trascrizione ottimale,
singleUtterance
deve essere impostato sufalse
. Non dovresti aspettartiEND_OF_SINGLE_UTTERANCE
sesingleUtterance
èfalse
, ma puoi fare affidamento suisFinal==true
all'interno diStreamingAnalyzeContentResponse.recognition_result
per chiudere metà 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
: lingue aggiuntive che potrebbero essere rilevate nell'audio. Agent Assist utilizza il campolanguage_code
per rilevare automaticamente la lingua all'inizio dell'audio e si attiene a questa in tutti i turni di conversazione successivi. Il campoalternativeLanguageCodes
consente di specificare più opzioni tra cui scegliere per Agent Assist.phraseSets
: il nome della risorsa Adattamento del modello Speech-to-TextphraseSet
. Per utilizzare l'adattamento del modello con la trascrizione CCAI, devi prima creare ilphraseSet
utilizzando l'API Speech-to-Text e specificare il nome della risorsa qui.
Dopo aver inviato la seconda richiesta con il payload audio, dovresti iniziare a ricevere alcuni
StreamingAnalyzeContentResponses
dallo stream.- Puoi chiudere parzialmente 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 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 anche visualizzare la trascrizione in Pub/Sub.
Avvia un nuovo stream dopo la chiusura di quello precedente.
- Invio nuovamente dell'audio: i dati audio generati dopo l'ultimo
speech_end_offset
della risposta conis_final=true
fino all'ora di inizio del nuovo stream devono essere inviati nuovamente aStreamingAnalyzeContent
per una qualità di trascrizione ottimale.
- Invio nuovamente dell'audio: i dati audio generati dopo l'ultimo
Questo diagramma illustra il funzionamento dello stream.
Esempio di codice di richiesta di riconoscimento in streaming
Il seguente esempio di codice illustra come inviare una richiesta di trascrizione in streaming:
Python
Per autenticarti ad Agent Assist, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.