La transcription CCAI vous permet de convertir vos données audio en streaming en texte transcrit en temps réel. Agent Assist émet des suggestions en fonction du texte. Les données audio doivent donc être converties avant de pouvoir être utilisées. Vous pouvez également utiliser l'audio en streaming transcrit avec CCAI Insights pour collecter des données en temps réel sur les conversations des agents (par exemple, la modélisation de sujets).
Il existe deux façons de transcrire l'audio en streaming pour l'utiliser avec CCAI: en utilisant la fonctionnalité SIPREC ou en effectuant des appels gRPC avec des données audio en tant que charge utile. Cette page décrit la procédure de transcription des données audio en streaming à l'aide d'appels gRPC.
La transcription CCAI fonctionne à l'aide de la reconnaissance vocale en streaming Speech-to-Text. Speech-to-Text propose plusieurs modèles de reconnaissance, standards et améliorés. La transcription CCAI n'est compatible qu'au niveau de GA lorsque elle est utilisée avec le modèle d'appel téléphonique amélioré.
Prérequis
- Créez un projet dans Google Cloud.
- Activez l'API Dialogflow.
- Contactez votre représentant Google pour vous assurer que votre compte a accès aux modèles améliorés de synthèse vocale.
Créer un profil de conversation
Pour créer un profil de conversation, utilisez la console Agent Assist ou appelez directement la méthode create
sur la ressource ConversationProfile
.
Pour la transcription CCAI, nous vous recommandons de configurer ConversationProfile.stt_config
comme InputAudioConfig
par défaut lorsque vous envoyez des données audio dans une conversation.
Obtenir des transcriptions au moment de l'exécution de la conversation
Pour obtenir des transcriptions au moment de l'exécution de la conversation, vous devez créer des participants à la conversation et envoyer des données audio pour chaque participant.
Créer des participants
Il existe trois types de participants.
Pour en savoir plus sur leurs rôles, consultez la documentation de référence. Appelez la méthode create
dans participant
et spécifiez role
. Seul un participant END_USER
ou HUMAN_AGENT
peut appeler StreamingAnalyzeContent
, ce qui est nécessaire pour obtenir une transcription.
Envoyer des données audio et obtenir une transcription
Vous pouvez utiliser StreamingAnalyzeContent
pour envoyer l'audio d'un participant à Google et obtenir une transcription, avec les paramètres suivants:
La première requête du flux doit être
InputAudioConfig
. (Les champs configurés ici remplacent les paramètres correspondants dansConversationProfile.stt_config
.) N'envoyez aucune entrée audio avant la deuxième requête.audioEncoding
doit être défini surAUDIO_ENCODING_LINEAR_16
ouAUDIO_ENCODING_MULAW
.model
: il s'agit du modèle de synthèse vocale que vous souhaitez utiliser pour transcrire votre contenu audio. Définissez ce champ surtelephony
.singleUtterance
doit être défini surfalse
pour une qualité de transcription optimale. Vous ne devez pas vous attendre àEND_OF_SINGLE_UTTERANCE
sisingleUtterance
estfalse
, mais vous pouvez compter surisFinal==true
dansStreamingAnalyzeContentResponse.recognition_result
pour fermer partiellement le flux.- Paramètres supplémentaires facultatifs: les paramètres suivants sont facultatifs. Pour y accéder, contactez votre représentant Google.
languageCode
:language_code
de l'audio. La valeur par défaut esten-US
.alternativeLanguageCodes
: langues supplémentaires pouvant être détectées dans l'audio. Agent Assist utilise le champlanguage_code
pour détecter automatiquement la langue au début de l'audio et s'y tient dans tous les tours de conversation suivants. Le champalternativeLanguageCodes
vous permet de spécifier d'autres options parmi lesquelles Agent Assist peut choisir.phraseSets
: nom de la ressourcephraseSet
pour l'adaptation du modèle de synthèse vocale. Pour utiliser l'adaptation de modèle avec la transcription CCAI, vous devez d'abord créerphraseSet
à l'aide de l'API Speech-to-Text et spécifier le nom de la ressource ici.
Une fois que vous avez envoyé la deuxième requête avec la charge utile audio, vous devriez commencer à recevoir des
StreamingAnalyzeContentResponses
à partir du flux.- Vous pouvez fermer à moitié le flux (ou arrêter l'envoi dans certaines langues comme Python) lorsque
is_final
est défini surtrue
dansStreamingAnalyzeContentResponse.recognition_result
. - Une fois que vous avez à moitié fermé le flux, le serveur renvoie la réponse contenant la transcription finale, ainsi que des suggestions potentielles de Dialogflow ou d'Agent Assist.
- Vous pouvez fermer à moitié le flux (ou arrêter l'envoi dans certaines langues comme Python) lorsque
Vous trouverez la transcription finale aux emplacements suivants:
StreamingAnalyzeContentResponse.message.content
.- Si vous activez les notifications Pub/Sub, vous pouvez également afficher la transcription dans Pub/Sub.
Démarrez un nouveau flux après la fermeture du flux précédent.
- Réenvoi audio: les données audio générées après le dernier
speech_end_offset
de la réponse avecis_final=true
jusqu'à l'heure de début du nouveau flux doivent être renvoyées àStreamingAnalyzeContent
pour une qualité de transcription optimale.
- Réenvoi audio: les données audio générées après le dernier
Voici un schéma illustrant le fonctionnement de la diffusion.
Exemple de code de requête de reconnaissance en streaming
L'exemple de code suivant montre comment envoyer une requête de transcription en streaming:
Python
Pour vous authentifier auprès d'Agent Assist, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.