A transcrição de voz permite converter seus dados de áudio de streaming em texto transcrito em tempo real. O Agent Assist faz sugestões com base em texto, então os dados de áudio precisam ser convertidos antes de serem usados. Você também pode usar áudio de streaming transcrito com o Customer Experience Insights para coletar dados em tempo real sobre conversas de agentes (por exemplo, modelagem de tópicos).
Há duas maneiras de transcrever áudio de streaming para uso com o Agent Assist: usando o recurso SIPREC ou fazendo chamadas gRPC com dados de áudio como payload. Esta página descreve o processo de transcrição de dados de áudio de streaming usando chamadas gRPC.
A transcrição de voz funciona usando o reconhecimento de fala de streaming da Speech-to-Text reconhecimento de fala de streaming. A Speech-to-Text oferece vários modelos de reconhecimento, padrão e aprimorado. O Agent Assist não restringe os modelos que podem ser usados com a transcrição de voz, mas a transcrição de voz é compatível no nível de disponibilidade geral somente quando usada com o modelo de telefonia ou Chirp 3. Para uma qualidade de transcrição ideal, o modelo Chirp 3 é recomendado, sujeito à disponibilidade regional.
Pré-requisitos
- Criar um projeto em Google Cloud.
- Ativar a API Dialogflow.
- Entre em contato com seu representante do Google para garantir que sua conta tenha acesso a modelos aprimorados da Speech-to-Text.
Criar um perfil de conversa
Para criar um perfil de conversa, use
o
console do Agent Assist ou chame o método create diretamente no
ConversationProfile
recurso.
Para transcrição de voz, recomendamos configurar
ConversationProfile.stt_config como o InputAudioConfig ao enviar
dados de áudio em uma conversa.

Receber transcrições no tempo de execução da conversa
Para receber transcrições no tempo de execução da conversa, é necessário criar participantes para a conversa e enviar dados de áudio para cada participante.
Criar participantes
Há três tipos de
participante.
Consulte a documentação
de referência
para mais detalhes sobre os papéis deles. Chame o método create no participant e especifique o role. Somente um participante END_USER ou HUMAN_AGENT pode chamar StreamingAnalyzeContent, que é necessário para receber uma transcrição.
Enviar dados de áudio e receber uma transcrição
Você pode usar
StreamingAnalyzeContent
para enviar o áudio de um participante ao Google e receber a transcrição, com os
seguintes parâmetros:
A primeira solicitação no stream precisa ser
InputAudioConfig. Os campos configurados aqui substituem as configurações correspondentes emConversationProfile.stt_config. Não envie nenhuma entrada de áudio até a segunda solicitação.audioEncodingprecisa ser definido comoAUDIO_ENCODING_LINEAR_16ouAUDIO_ENCODING_MULAW.model: esse é o modelo da Speech-to-Text que você quer usar para transcrever o áudio. Defina esse campo comochirp_3. A variante não afeta a qualidade da transcrição. Portanto, você pode deixar Variante do modelo de fala não especificada ou escolher Usar a melhor disponível.singleUtteranceprecisa ser definido comofalsepara melhor qualidade de transcrição. Não espereEND_OF_SINGLE_UTTERANCEsesingleUtteranceforfalse, mas você pode depender deisFinal==truedentro deStreamingAnalyzeContentResponse.recognition_resultpara fechar o stream pela metade.- Parâmetros adicionais opcionais: os seguintes parâmetros são
opcionais. Para acessar esses parâmetros, entre em contato com seu representante do Google.
languageCode:language_codedo áudio. O valor padrão éen-US.alternativeLanguageCodes: esse recurso está disponível apenas no nível de disponibilidade geral para o modelo Chirp 3. Outros idiomas que podem ser detectados no áudio. O Agent Assist usa o campolanguage_codepara detectar automaticamente o idioma no início do áudio e o define como padrão em todas as rodadas de conversa a seguir. O campoalternativeLanguageCodespermite especificar mais opções para o Agent Assist escolher.phraseSets: o nome do recurso Speech-to-Text model adaptationphraseSet.- Para configurar a adaptação do modelo Chirp 3, adicione frases inline separadas por novas linhas, sem vírgulas.
- Para usar a adaptação de modelo com outros modelos, como
telephony, para transcrição de voz, primeiro crie ophraseSetusando a API Speech-to-Text e especifique o nome do recurso aqui.
Depois de enviar a segunda solicitação com o payload de áudio, você vai começar a receber algumas
StreamingAnalyzeContentResponsesdo stream.- Você pode fechar o stream pela metade (ou parar de enviar em alguns idiomas, como Python) quando vir
is_finaldefinido comotrueemStreamingAnalyzeContentResponse.recognition_result. - Depois de fechar o stream pela metade, o servidor vai enviar a resposta contendo a transcrição final, além de possíveis sugestões do Dialogflow ou do Agent Assist.
- Você pode fechar o stream pela metade (ou parar de enviar em alguns idiomas, como Python) quando vir
Você pode encontrar a transcrição final nos seguintes locais:
StreamingAnalyzeContentResponse.message.content.- Se você ativar as notificações do Pub/Sub, também poderá ver a transcrição no Pub/Sub.
Inicie um novo stream depois que o anterior for fechado.
- Reenvio de áudio: os dados de áudio gerados após o último
speech_end_offsetda resposta comis_final=truepara o novo horário de início do stream precisam ser reenviados paraStreamingAnalyzeContentpara melhor qualidade de transcrição.
- Reenvio de áudio: os dados de áudio gerados após o último
Confira o diagrama que ilustra como o stream funciona.

Exemplo de código de solicitação de reconhecimento de streaming
O exemplo de código a seguir ilustra como enviar uma solicitação de transcrição de streaming.
Python
Para autenticar no Agent Assist, configure o Application Default Credentials. Se quiser mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Siga estas etapas para conferir os arquivos Python para conversation_management e participant_management.
Navegue até o repositório do GitHub para documentos Python.
Clique em Go to file e insira o nome do arquivo:
conversation_managementouparticipant_management.Pressione Enter.
Práticas recomendadas
O horário de envio da mensagem é quando uma declaração começa. Use o horário de envio da mensagem para determinar a ordem em que o contact center mostra ou analisa mensagens de voz messages.