La transcripción de CCAI te permite convertir tus datos de audio de transmisión en texto transcrito en tiempo real. Agent Assist hace sugerencias basadas en texto, por lo que los datos de audio deben convertirse antes de que se puedan usar. También puedes usar audio de transmisión transcrito con CCAI Insights para recopilar datos en tiempo real sobre las conversaciones de los agentes (por ejemplo, modelado de temas).
Existen dos maneras de transcribir audio de transmisión para usarlo con CCAI: con la función SIPREC o con llamadas a gRPC con datos de audio como carga útil. En esta página, se describe el proceso de transcripción de datos de audio en transmisión con llamadas a gRPC.
La Transcripción de CCAI funciona con el reconocimiento de voz en tiempo real de Speech-to-Text. Speech-to-Text ofrece varios modelos de reconocimiento, estándar y mejorados. La transcripción de CCAI solo se admite a nivel de GA cuando se usa con el modelo de llamada telefónica mejorada.
Requisitos previos
- Crea un proyecto en Google Cloud.
- Habilita la API de Dialogflow.
- Comunícate con tu representante de Google para asegurarte de que tu cuenta tenga acceso a los modelos mejorados de Texto a voz.
Crea un perfil de conversación
Para crear un perfil de conversación, usa la
consola de Agent Assist o llama al método create
en el
recurso ConversationProfile
directamente.
Para la transcripción de CCAI, te recomendamos que configures ConversationProfile.stt_config
como el InputAudioConfig
predeterminado cuando envíes datos de audio en una conversación.
Cómo obtener transcripciones durante el tiempo de ejecución de la conversación
Para obtener transcripciones durante el tiempo de ejecución de la conversación, debes crear participantes para la conversación y enviar datos de audio para cada uno de ellos.
Crea participantes
Existen tres tipos de participantes.
Consulta la documentación de referencia para obtener más detalles sobre sus roles. Llama al método create
en el participant
y especifica el role
. Solo un participante de END_USER
o HUMAN_AGENT
puede llamar a StreamingAnalyzeContent
, que es necesario para obtener una transcripción.
Envía datos de audio y obtén una transcripción
Puedes usar StreamingAnalyzeContent
para enviar el audio de un participante a Google y obtener la transcripción con los siguientes parámetros:
La primera solicitud en la transmisión debe ser
InputAudioConfig
. (Los campos configurados aquí anula la configuración correspondiente enConversationProfile.stt_config
). No envíes ninguna entrada de audio hasta la segunda solicitud.audioEncoding
debe establecerse comoAUDIO_ENCODING_LINEAR_16
oAUDIO_ENCODING_MULAW
.model
: Es el modelo de Texto a voz que deseas usar para transcribir tu audio. Establece este campo comotelephony
.singleUtterance
debe establecerse enfalse
para obtener la mejor calidad de transcripción. No debes esperarEND_OF_SINGLE_UTTERANCE
sisingleUtterance
esfalse
, pero puedes depender deisFinal==true
dentro deStreamingAnalyzeContentResponse.recognition_result
para cerrar la transmisión a medias.- Parámetros adicionales opcionales: Los siguientes parámetros son opcionales. Para obtener acceso a estos parámetros, comunícate con tu representante de Google.
languageCode
:language_code
del audio. El valor predeterminado esen-US
.alternativeLanguageCodes
: Idiomas adicionales que se podrían detectar en el audio. Agent Assist usa el campolanguage_code
para detectar automáticamente el idioma al comienzo del audio y se adhiere a él en todos los turnos de conversación posteriores. El campoalternativeLanguageCodes
te permite especificar más opciones para que Agent Assist elija.phraseSets
: Es el nombre del recursophraseSet
de la adaptación del modelo de voz a texto. Para usar la adaptación de modelos con la transcripción de CCAI, primero debes crear elphraseSet
con la API de Speech-to-Text y especificar el nombre del recurso aquí.
Después de enviar la segunda solicitud con la carga útil de audio, deberías comenzar a recibir algunos
StreamingAnalyzeContentResponses
de la transmisión.- Puedes cerrar la transmisión a medias (o dejar de enviar en algunos lenguajes, como Python) cuando veas que
is_final
está configurado comotrue
enStreamingAnalyzeContentResponse.recognition_result
. - Después de cerrar la transmisión a medias, el servidor enviará la respuesta que contiene la transcripción final, junto con posibles sugerencias de Dialogflow o de Agent Assist.
- Puedes cerrar la transmisión a medias (o dejar de enviar en algunos lenguajes, como Python) cuando veas que
Puedes encontrar la transcripción final en las siguientes ubicaciones:
StreamingAnalyzeContentResponse.message.content
- Si habilitas las notificaciones de Pub/Sub, también puedes ver la transcripción en Pub/Sub.
Inicia una transmisión nueva después de que se cierre la anterior.
- Reenvío de audio: Los datos de audio generados después del último
speech_end_offset
de la respuesta conis_final=true
hasta la hora de inicio de la transmisión nueva deben volver a enviarse aStreamingAnalyzeContent
para obtener la mejor calidad de transcripción.
- Reenvío de audio: Los datos de audio generados después del último
Este es el diagrama que ilustra cómo funciona la transmisión.
Muestra de código de solicitud de reconocimiento continuo
En la siguiente muestra de código, se muestra cómo enviar una solicitud de transcripción en tiempo real:
Python
Para autenticarte en Agent Assist, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.