A transcrição da CCAI permite-lhe converter os seus dados de áudio de streaming em texto transcrito em tempo real. O Agent Assist faz sugestões com base em texto, pelo que os dados de áudio têm de ser convertidos antes de poderem ser usados. Também pode usar o áudio de streaming transcrito com o CCAI Insights para recolher dados em tempo real sobre as conversas dos agentes (por exemplo, modelagem de tópicos).
Existem duas formas de transcrever áudio em streaming para utilização com o CCAI: através da funcionalidade SIPREC ou fazendo chamadas gRPC com dados de áudio como carga útil. Esta página descreve o processo de transcrever dados de áudio de streaming através de chamadas gRPC.
A transcrição do CCAI funciona através do reconhecimento de voz em streaming de voz para texto. A API Speech-to-Text oferece vários modelos de reconhecimento, padrão e melhorado. A transcrição da CCAI é suportada ao nível da GA apenas quando é usada com o modelo de chamada telefónica melhorada.
Pré-requisitos
- Crie um projeto em Google Cloud.
- Ative a Dialogflow API.
- Contacte o seu representante da Google para se certificar de que a sua conta tem acesso aos modelos melhorados do Speech-to-Text.
Crie um perfil de conversa
Para criar um perfil de conversa, use a
consola do Agent Assist ou chame o método create
no recurso
ConversationProfile
diretamente.
Para a transcrição do CCAI, recomendamos que configure ConversationProfile.stt_config
como o InputAudioConfig
predefinido quando enviar dados de áudio numa conversa.
Obtenha transcrições durante a execução da conversa
Para receber transcrições durante o tempo de execução da conversa, tem de criar participantes para a conversa e enviar dados de áudio para cada participante.
Crie participantes
Existem três tipos de
participante.
Consulte a documentação
de referência
para mais detalhes sobre as respetivas funções. Chame o método create
no
participant
e especifique o role
. Apenas um END_USER
ou um participante HUMAN_AGENT
pode ligar ao StreamingAnalyzeContent
, o que é necessário para obter uma
transcrição.
Envie dados de áudio e receba uma transcrição
Pode usar
StreamingAnalyzeContent
para enviar o áudio de um participante para a Google e receber a transcrição, com os
seguintes parâmetros:
O primeiro pedido na stream tem de ser
InputAudioConfig
. (Os campos configurados aqui substituem as definições correspondentes emConversationProfile.stt_config
.) Não envie nenhuma entrada de áudio até ao segundo pedido.audioEncoding
tem de estar definido comoAUDIO_ENCODING_LINEAR_16
ouAUDIO_ENCODING_MULAW
.model
: este é o modelo de conversão de voz em texto que quer usar para transcrever o seu áudio. Defina este campo comotelephony
. A variante não afeta a qualidade da transcrição, pelo que pode deixar Speech model variant não especificado ou escolher Use best available.singleUtterance
deve ser definido comofalse
para obter a melhor qualidade de transcrição. Não deve esperarEND_OF_SINGLE_UTTERANCE
sesingleUtterance
forfalse
, mas pode depender deisFinal==true
dentro deStreamingAnalyzeContentResponse.recognition_result
para fechar parcialmente a stream.- Parâmetros adicionais opcionais: os seguintes parâmetros são opcionais. Para aceder a estes parâmetros, contacte o seu representante da Google.
languageCode
:language_code
do áudio. O valor predefinido éen-US
.alternativeLanguageCodes
: idiomas adicionais que podem ser detetados no áudio. O Agent Assist usa o campolanguage_code
para detetar automaticamente o idioma no início do áudio e mantém-no em todas as interações seguintes da conversa. O campoalternativeLanguageCodes
permite-lhe especificar mais opções para o Agent Assist escolher.phraseSets
: o nome do recurso de adaptação do modelo de conversão de voz em texto.phraseSet
Para usar a adaptação de modelos com a transcrição da CCAI, tem de criar primeiro ophraseSet
com a API Speech-to-Text e especificar o nome do recurso aqui.
Depois de enviar o segundo pedido com a carga útil de áudio, deve começar a receber alguns
StreamingAnalyzeContentResponses
da stream.- Pode fechar parcialmente a stream (ou parar de enviar em alguns idiomas, como o Python) quando vir
is_final
definido comotrue
emStreamingAnalyzeContentResponse.recognition_result
. - Depois de fechar parcialmente a stream, o servidor envia de volta a resposta com a transcrição final, juntamente com potenciais sugestões do Dialogflow ou sugestões do Agent Assist.
- Pode fechar parcialmente a stream (ou parar de enviar em alguns idiomas, como o Python) quando vir
Pode encontrar a transcrição final nas seguintes localizações:
StreamingAnalyzeContentResponse.message.content
.- Se ativar as notificações do Pub/Sub, também pode ver a transcrição no Pub/Sub.
Inicie uma nova stream depois de a stream anterior ser fechada.
- Reenvio de áudio: os dados de áudio gerados após os últimos
speech_end_offset
da resposta comis_final=true
à nova hora de início da stream têm de ser reenviados paraStreamingAnalyzeContent
para obter a melhor qualidade de transcrição.
- Reenvio de áudio: os dados de áudio gerados após os últimos
O diagrama seguinte ilustra como funciona a stream.
Exemplo de código de pedido de reconhecimento em streaming
O seguinte exemplo de código ilustra como enviar um pedido de transcrição de streaming:
Python
Para se autenticar no Agent Assist, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.