5 Modos de Falha de Agentes de Voz que Você Enfrentará na Primeira Semana — Venky B, Plivo
스크립트
00:00:00Vamos fazer apenas algumas perguntas rápidas e logo em seguida começaremos. Quantos de nós aqui na sala
00:00:19já construíram agentes de voz com IA? Ok, temos um bom público aqui. E quantos de vocês
00:00:28já construíram agentes de IA que foram implantados em produção? Nada mal. Ok, legal. Então vamos falar
00:00:38sobre o que normalmente acontece, certo? Tipo, todo mundo está falando sobre agentes de voz com IA. A, sabe,
00:00:47a solução mágica para praticamente tudo no mundo hoje são os agentes de voz com IA. Então todo mundo
00:00:51está construindo um e tentando implantá-lo. Eles soam ótimos quando você está construindo isso no seu
00:00:57ambiente de desenvolvimento. E então, no momento em que você leva isso de uma prova de conceito para a produção,
00:01:03as coisas começam a falhar. Então vamos analisar esses cinco ângulos diferentes de como, ou o que nós
00:01:09temos visto na PLEVO com agentes de voz com IA. Mas antes disso, uma breve introdução da minha parte. Eu sou o Venki,
00:01:19o fundador e CAO. Ela usou o título de gerente de engenharia de agentes. Estou me autoproclamando diretor de agentes,
00:01:28do ponto de vista de cargo. Ok, então qual é, o que, sabe, por que sequer somos qualificados para esta
00:01:35discussão e, tipo, o que estamos vendo que muitas empresas não conseguem ver? Então vou,
00:01:42vou falar um pouco sobre a nossa jornada em termos de como chegamos até aqui e depois entrar direto no assunto.
00:01:48Sabe, nós estamos por aí há cerca de 14 anos. Nossa jornada tem sido como uma plataforma de API para desenvolvedores.
00:01:54E agora, um negócio de agentes de IA. Começamos com APIs de voz e SMS lá em 2011.
00:02:01E então, agora estamos focados principalmente em nossa oferta de agentes de IA em full stack.
00:02:08O full stack em nossa plataforma. Nós vemos mais de um bilhão de chamadas de voz todos os meses em todo o globo.
00:02:16E é aí que temos visto muitos desses padrões emergirem em termos de como,
00:02:20quando trabalhamos com nossos clientes, o que acontece com os agentes de voz de IA deles em produção.
00:02:25Somos uma equipe de 90 membros e temos 50 milhões em financiamento no banco. Fato curioso,
00:02:33isso não vem de investidores de capital de risco externos. Isso é fruto de sermos uma empresa lucrativa,
00:02:38acumulando esse caixa no banco ao longo desses anos.
00:02:42Alguns clientes que atendemos em todo o mundo. Deixamos alguns logotipos ali,
00:02:49mas principalmente do ponto de vista de ofertas, eu dividiria isso em três categorias diferentes.
00:02:54Uma é uma oferta programável de agente de IA. Nós chamamos de, quer dizer, é um pipeline
00:03:00de fala, ainda não é um produto verdadeiro de fala para fala, mas é uma oferta programável.
00:03:05Também temos um estúdio de agentes de IA. É um construtor visual sem código. E como eu disse,
00:03:11começamos com APIs de voz. Então, obviamente, construímos isso ao longo dos últimos 14 anos,
00:03:16o entroncamento SIP e a camada de streaming de áudio. Portanto, não dependemos de terceiros para a telefonia
00:03:22ou para a camada de operadora. Esse é o nosso negócio principal que construímos ao longo de todos esses anos.
00:03:26E é sobre isso que a nossa plataforma de agentes de IA se apoia.
00:03:32Ok. Dito isso, vamos entrar no assunto, certo? Tenho certeza de que, como todos vocês já construíram
00:03:39agentes de IA, todos já viram isso ou construíram de uma forma ou de outra. E vamos passar
00:03:44mais tempo nisso em termos de como o pipeline inteiro se parece. O que vemos com os
00:03:51clientes, e tenho certeza de que vocês se identificam com isso, é que qualquer pessoa pensando em
00:03:56agentes de IA escolhe um monte desses frameworks de orquestração e faz um
00:04:01trabalho muito bom, usa LiveKit ou Pipecat, construindo seu agente de IA em cima disso. Eles acham
00:04:06que podem simplesmente orquestrar essas quatro camadas diferentes: fala para texto, LLM e TTS
00:04:13com detecção de turno no meio, e pronto, estamos prontos. Meu agente de IA funciona em uma POC
00:04:19e vai funcionar em produção. Tipicamente é isso que acontece. Eles medem suas
00:04:24latências e vocês podem ver algumas latências indicativas neste slide em cada camada. E eles pensam,
00:04:30sim, isso parece bom para mim, para o que eu preciso. Então vamos colocar em produção. E então
00:04:36a produção começa a dar as caras e você vê todo tipo de modo de falha, sobre o qual
00:04:41vamos passar a maior parte do tempo nesta palestra, pelo menos. Eu deixei algum tempo
00:04:48no final para perguntas e respostas, caso vocês tenham dúvidas, mas vamos pular direto daqui
00:04:53para os diferentes modos de falha que vemos. Vamos começar com o primeiro, do qual
00:05:01todo mundo fala. Este é o modo de falha mais comentado, que é a latência. Acho que
00:05:07temos algumas palestras sobre agentes de IA hoje ou sobre agentes de voz com IA hoje. Tenho quase
00:05:12certeza de que todo mundo vai tocar nesse modo de falha específico, e é por isso que estou trazendo isso logo
00:05:17no início, em termos de como essa experiência inteira é para os usuários, certo? Normalmente,
00:05:26a maioria das pessoas mede isso pelo tempo até o primeiro áudio. Ou seja, o tempo desde quando seus usuários param de falar
00:05:34até o seu agente começar a falar, certo? E acho que vocês provavelmente já viram isso se já
00:05:39construíram agentes de voz, sobre o que parece bom ou natural, o que
00:05:46parece meio irritante ou perceptível, e o que parece realmente irritante, que são diferentes níveis
00:05:52de etapas. Notamos que a maioria das pessoas quer ficar abaixo de 550, porque é o que é anunciado pelas
00:06:00plataformas, soluções ou camadas, mas acho que a maioria acaba entre 750
00:06:07e 1,2. É onde a maioria das pessoas termina. Os de desempenho realmente ruim terminam
00:06:13com mais de 1,2, e aí você começa a ver os usuários desligando. Agora, vou
00:06:19compartilhar com vocês o que temos visto na prática em produção com clientes usando isso em diferentes
00:06:26camadas, e então, soluções para algumas delas. A maneira como queremos pensar
00:06:33sobre esta camada é como um equilíbrio entre estes três fatores: custo, inteligência e latência,
00:06:42certo? E por que trago esses três à tona? Porque eles estão inter relacionados. Acho que uma
00:06:48das coisas sobre as quais eu estava conversando com algumas pessoas lá fora. Uma das coisas,
00:06:51no último ano, vimos muitas inovações, um grande salto de inteligência no lado dos LLMs,
00:06:58certo? E a maior parte da inteligência chegou em termos de raciocínio ou
00:07:05aprendizado por reforço e assim por diante. A ironia com os agentes de voz é que quase sempre
00:07:11o LLM ou o agente que está falando precisa estar com o raciocínio desativado, certo? Então, todos os
00:07:19avanços que tivemos na camada de LLM no último ano, praticamente nenhum deles se aplica aqui agora,
00:07:25certo? Obviamente você tem modelos melhores que podem fazer um melhor seguimento de instruções
00:07:29ou chamadas de ferramentas, mas praticamente toda a inteligência construída na camada de raciocínio
00:07:34fica desligada por padrão se você quiser que seja rápido o suficiente. Essa é uma das
00:07:39ironias que encontramos. Então, como equilibrar inteligência, custo e latência?
00:07:44Vamos analisar algumas dessas opções que estão disponíveis no mercado,
00:07:48certo? E estou escolhendo especificamente o LLM porque, se você olhou para o gráfico anterior, o LLM é
00:07:55o seu grupo de maior latência que contribui para isso, certo? E se você olhar para
00:08:02modelos de fronteira, com os quais a maioria das pessoas começa por padrão — seus OpenAI, Claude,
00:08:09Gemini —, o P50 do TTFT fica em torno de 450 a 500 em um dia bom, e pode ficar
00:08:17instável, certo? O P90, P95 pode facilmente disparar para cima de 1,2, 1,3 segundo inclusive,
00:08:25e isso não é bom para a experiência geral do agente. Então esse é o seu modelo de fronteira.
00:08:31Agora, há outra opção, que são o Cerebras ou o Groq, que são famosos e
00:08:38populares por cuspirem muitos tokens ou tokens muito rápido, certo? Eles funcionam, mas para você obter
00:08:45latência dedicada ou tempo para o primeiro token neles, você precisa de capacidade dedicada e isso é muito caro.
00:08:51Foi aí que mencionei o custo como uma das coisas a se equilibrar, certo? É realmente
00:08:56caro. E se você falar com qualquer pessoa da equipe do Groq ou do Cerebras, eles vão te dizer
00:09:01que você precisa reservar com 12 meses de antecedência para ter capacidade dedicada. Eles estão lotados para os próximos 12 meses.
00:09:05Portanto, essa é uma opção bastante cara. E você realmente precisa ter certeza de que o modelo
00:09:11que você está implantando em algumas dessas camadas de infraestrutura ainda estará aqui daqui a 12 meses, o que é um
00:09:17grande investimento e uma grande incógnita. Então, qual é uma opção realista para agentes de grau de produção,
00:09:27que tenham boa qualidade e equilibrem três desses fatores? Isto é o que tem
00:09:34funcionado para nós: os modelos de código aberto. Obviamente existem muitos deles em termos de
00:09:41variedade e variações que você pode escolher. Estou falando especificamente dos dois com os quais trabalhamos,
00:09:47o Qwen 2.5 e o Gemma 2. Esses são modelos de código aberto de última geração, certo,
00:09:56disponíveis no mercado agora. E fizemos muitos testes comparativos sobre como eles funcionam.
00:10:02Pode ser assustador pensar: 'Ok, eu tenho os modelos, agora preciso hospedá-los, executá-los
00:10:10em minhas próprias GPUs', e assim por diante. Mas se você estiver consistentemente visando menos de 300 ms, isso,
00:10:17temos visto que é uma ótima opção para equilibrar latência, custo e inteligência.
00:10:23Agora, mergulhando mais fundo aqui. Se você está fazendo apenas inglês, o Qwen 2.5 ou o Gemma funcionam bem.
00:10:29Mas se você está fazendo multilíngue, certo, públicos internacionais, diferentes idiomas, o Gemma 2 é um
00:10:35modelo muito melhor para isso. Nós avaliamos a fertilidade de tokens. Essencialmente, o que isso significa,
00:10:44se eu for desmistificar isso, é quantos tokens são necessários para gerar uma palavra em
00:10:48esse idioma? Ok, então o Gemma é muito, muito melhor, pelo menos 2,5 a 3 vezes melhor do que o Qwen 2.5 sob essa
00:10:56perspectiva. Portanto, o seu tempo até as palavras é muito mais rápido no Gemma 2, mantendo todo o resto igual, em uma base multilíngue.
00:11:04com base multilíngue. Agora, quais tamanhos escolher na camada de LLM? O modelo de mistura de especialistas geralmente
00:11:12funciona bem. O modelo de mistura de especialistas de três ou quatro bilhões geralmente funciona bem. O problema com
00:11:17a mistura de especialistas é que, se alguém quiser seguir o caminho do ajuste fino, isso pode ser um
00:11:22desafio, porque fazer o ajuste fino de modelos de mistura de especialistas não é fácil. Você pode acabar quebrando o
00:11:28modelo muitas vezes. Portanto, esse é um desafio que vemos com a mistura de especialistas, mas geralmente, por padrão,
00:11:35ele te deixa 90% mais próximo de onde você quer estar, mesmo sem nenhum ajuste fino ou trabalho
00:11:42personalizado feito no modelo. Essa é a vantagem da mistura de especialistas. Agora, se você quiser fazer um ajuste fino
00:11:48e quiser ir mais fundo e dizer: “Olha, estou trabalhando para um domínio específico, saúde,
00:11:53o que quer que seja”, e eu quero garantir que posso ajustar meu modelo, você vai querer começar pelo menos
00:11:58com o de 8 bilhões, 12 bilhões, pelo menos a partir de onde estamos hoje. Talvez daqui a seis meses
00:12:04um modelo de 4 bilhões vença o modelo de 8 bilhões com facilidade, mas para hoje, o que temos
00:12:11visto é que você precisa no mínimo de um modelo de 8 bilhões ou 12 bilhões, porque você busca duas
00:12:16coisas nesses modelos: primeiro, obviamente, tokens rápidos, mas também uma boa capacidade de seguir instruções, certo? E
00:12:23a segunda coisa é uma taxa de sucesso muito alta na chamada de ferramentas, porque se você fizer bem essas duas coisas,
00:12:29então você já estará 70 ou 80% no caminho certo, sem nem precisar ajustar nenhum modelo,
00:12:35os modelos funcionarão logo de cara, certo? Essa tem sido a nossa receita. Nós realmente
00:12:42usamos duas vertentes: uma com um modelo ajustado para indústrias específicas e outra para,
00:12:50sabe, a maioria dos casos de uso genéricos, um modelo MOE funciona perfeitamente logo de cara.
00:12:56Há mais algumas dicas e truques dos quais falaremos nos próximos slides, onde vemos falhas nos modelos,
00:13:00mas é aí que nos posicionamos em termos de latência de LLM. Certo, estou com
00:13:07o tempo curto, então vou acelerar isso. Há algumas outras abordagens nisso.
00:13:12As pessoas constroem agentes com uma mistura de modelos. O que elas fazem é usar, para a parte
00:13:19de conversação, um modelo conversacional que seja muito menor, um modelo bem menor,
00:13:24e talvez até um modelo de três bilhões, e para a chamada de ferramentas, eles usam um modelo muito maior,
00:13:27para terem uma taxa de sucesso aprimorada nas chamadas de ferramentas.
00:13:35Desculpe. O segundo ponto é: assuma que suas transcrições serão frágeis. Isso é algo
00:13:42pelo qual você deve viver ao construir agentes de IA, mesmo que você tenha
00:13:49o melhor mecanismo de transcrição do mercado, e eu vou te mostrar o porquê. Os mecanismos de transcrição
00:13:55mais avançados do mercado conseguem alcançar uma taxa de erro de palavras de quatro a seis por cento,
00:14:02certo? E isso em conjuntos de avaliação conhecidos. Em chamadas reais e barulhentas com,
00:14:10digamos, sotaques diferentes — pessoas tendo vários tipos de sotaque —, vocabulário de domínio,
00:14:15e assim por diante. Tipo, essas aí costumam ficar na casa dos dois dígitos em termos de taxa de erro de palavras,
00:14:21certo? Obviamente você pode fazer um ajuste fino, escolher um modelo de código aberto e ajustar,
00:14:25mas vemos tipicamente o que costuma falhar aqui, e há padrões sobre o que quebra.
00:14:31Portanto, nomes próprios, jargões, números de telefone (como dígitos perdidos aleatoriamente em números de telefone),
00:14:38substituições erradas. Vou passar por alguns exemplos de como resolver esses problemas.
00:14:43Quando você tenta coletar um endereço longo, o mecanismo de transcrição
00:14:48pode acabar perdendo algumas partes dele. Idiomas com alternância de código (code-switching). Vou dar um exemplo de um
00:14:55idioma que eu falo, porque era fácil para mim colocar no slide, onde, se você
00:15:01pegar o inglês, mas escrito em um alfabeto diferente, é isso que é usado para o hindi,
00:15:06certo? Isto é inglês escrito naquele alfabeto, enquanto a versão em inglês real
00:15:11disso é: “hello, how are you?” Portanto, se estou me dirigindo a um público em um país diferente,
00:15:16onde tenho idiomas misturados e começo a receber meu inglês em um tipo diferente
00:15:21tudo começa a falhar, desde o motor de transcrição até a camada de LLM, e depois
00:15:26disso, porque sua LLM muitas vezes passa a gerar a saída nesse tipo de escrita, e então seu TTS
00:15:32acaba falhando. Certo? Então isso é muito importante de se ter cuidado. Se você quer construir seu
00:15:38agente de forma independente do mecanismo de transcrição, você precisa criar uma camada que normalize tudo isso,
00:15:44certo? Vamos falar sobre soluções em um minuto. E há o outro caso, que é o hindi
00:15:48em caracteres latinos ou romanos, certo? Ou seja, isto é hindi, mas lê-se como
00:15:54inglês, o que novamente atrapalha tudo nos processos posteriores. Esses são apenas exemplos. Isso se aplica a
00:15:59árabe, mandarim, japonês, ou seja, praticamente qualquer idioma. Então,
00:16:04o que realmente faz a diferença na camada de transcrição? Para nomes próprios,
00:16:11recomendamos que você use não apenas o reforço de palavras-chave. Acho que muitos mecanismos de transcrição
00:16:16oferecem o reforço de palavras-chave, onde você pode inserir palavras específicas no mecanismo deles,
00:16:21mas sim fazer um reforço dinâmico de palavras-chave. O que isso significa? Não mantenha a palavra-chave durante todo o estado da
00:16:26chamada. Adicione-a dinamicamente quando achar que precisa dela como resposta, para obter a mais alta
00:16:32precisão. Ou seja, em diferentes momentos da chamada, o mecanismo de transcrição terá diferentes
00:16:38palavras-chave reforçadas durante fases distintas, certo? E é isso que vemos funcionar melhor, porque se você
00:16:43simplesmente poluir o contexto do mecanismo de transcrição com toneladas de palavras-chave, ele voltará a alucinar,
00:16:49certo? Então é isso que costuma funcionar melhor. Faça pós-processamento das suas
00:16:55transcrições com um LLM, porque o seu LLM possui o contexto de domínio, e o seu mecanismo de transcrição não.
00:17:02Portanto, muitas palavras que ele diria — vou dar alguns exemplos — podem não fazer sentido. Isto é
00:17:07uma transcrição, como um número de telefone vindo de um mecanismo de transcrição, certo? O que você acha que esse E é?
00:17:13Certo? Se você fornecer isso a um LLM, ele sabe que aquilo é um três. Da mesma forma, aquele um é o dígito
00:17:18um. Então, o seu mecanismo de transcrição muitas vezes pode errar nisso, mas quando você faz o pós-processamento
00:17:24com uma camada de LLM, ele corrige isso instantaneamente do ponto de vista de coleta. Quer dizer,
00:17:30e a última, como eu disse, a transliteração da sua saída de STT que de certa forma é multilíngue também é
00:17:37normalizada, usando primeiro um LLM para transliterar ou usando algum tipo de mecanismo de transliteração
00:17:46neural. Existem muitos deles de código aberto. Você pode simplesmente escolher um deles,
00:17:49certo? Que fará todo esse trabalho para você. Envie transcrições limpas consistentemente,
00:17:55de forma independente do mecanismo de transcrição, para o seu LLM.
00:18:00Muito bem. O terceiro ponto que costumamos ver é a coleta de dados. É aqui que acho que de 50 a 60
00:18:05por cento dos agentes de IA falham feio. E nós gostamos de pensar nisso como um problema de UX,
00:18:14mas apenas para voz. Pense em modelos de dados, em vez de uma transcrição chegando a um LLM e tentando
00:18:21descobrir o que a transcrição disse. Vamos nos inspirar, assumindo que a maioria de nós aqui
00:18:27seja desenvolvedor, nas classes de dados do Python, Pydantic,
00:18:32Zod do TypeScript ou campos de formulário na UI, certo? Se você começar a pensar a partir dessa formulação
00:18:39de problema, vimos a precisão subir de 30% para cerca de 95% do ponto de vista de coleta de dados
00:18:46quando você passa a pensar dessa maneira. Então, decida o formato antes de perguntar, certo?
00:18:52Em vez de manter algo em aberto, você pode mantê-lo restrito? Um número de telefone pode ser
00:18:58um campo do tipo número de telefone? No momento em que você faz isso, você sabe quantos dígitos ele precisa
00:19:03ter. Você pode aplicar validações sobre isso e definir quais valores permitidos podem
00:19:10existir. Assim, no exemplo anterior que vimos, se um E aparece no meio de um número de telefone e você sabe
00:19:15que é um número de telefone, você percebe instantaneamente e deduz inteligentemente que é um três, confirmando isso com
00:19:20o usuário, ou você sabe que aquilo é um erro, faz a validação e pede para o usuário repetir,
00:19:26certo? Este é um dos padrões comuns que vimos aqui em termos de
00:19:31padrão de coleta. O nome, eu acho, é um caso interessante. Escolhi apenas um
00:19:36nome difícil de pronunciar. É impossível um humano acertar isso e
00:19:43é impossível nosso mecanismo de transcrição acertar, não importa quantas vezes você tente, certo?
00:19:47Portanto, no momento em que você começa a pensar nisso como campos e define regras e mecanismos de confirmação
00:19:53para soletrar isso letra por letra, é só assim que você consegue acertar. Caso contrário,
00:19:58vai falhar feio na forma como você coleta isso em uma chamada de voz.
00:20:03E esse é apenas um exemplo do que estou falando em relação à parte de coleta de dados.
00:20:11Outro aspecto que dá muito errado são os valores relativos, sendo a data um dos exemplos.
00:20:18Se alguém diz “semana que vem, quarta-feira às oito”, isso pode significar 8h ou 20h, e descobrir
00:20:25qual é a data real passa a ser um problema bastante restrito. Se você soubesse que este era um
00:20:30campo de data e hora e estivesse coletando um campo de data e hora, você pegaria a data atual e descobriria
00:20:35qual seria esse valor com base nisso, certo? É assim que você deve garantir
00:20:39que faz isso com uma combinação do LLM com a chamada de ferramentas, onde a chamada de ferramentas
00:20:44faz o trabalho pesado para você do ponto de vista dos campos.
00:20:50E então você executa isso a partir de uma perspectiva de teste unitário. Portanto, todas as suas avaliações precisam
00:20:58começar a tratar esses campos como testes unitários. E desde que seus testes unitários sejam validados e passem,
00:21:06sabe, o seu agente será, é, confiável e repetível. Você não,
00:21:10sabe, executa, é, centenas de casos de teste de ponta a ponta de agentes só para descobrir, sabe, que uma
00:21:15coleta de campo está quebrada. Você faz suas avaliações a nível de campo e de teste unitário.
00:21:24E aí, é, como eu disse, acho que, é, essa mentalidade torna tudo mais estruturado
00:21:30em vez de ficar esperando colocar uma tonelada de prompt, mudando, sabe, o prompt por alguns, é,
00:21:36caracteres toda vez. E de algum modo a minha engenharia de prompt vai fazer a IA deixar o modelo muito mais
00:21:41ajustado a instruções e magicamente começar a seguir algumas dessas coisas. Então, na verdade, é, como eu disse,
00:21:47né, nós nos vimos chegar a 95, 97% de precisão sem precisar ajustar finamente um modelo.
00:21:53Certo? E o truque basicamente é apenas dividir o seu contexto de
00:21:57o que o agente está fazendo naquele momento com estados específicos, é, do que o agente está passando.
00:22:04Certo. É, eu só vou passar rapidamente por cima disso de um
00:22:10ponto de vista de tempo. Eu só vejo que tenho mais três minutos. Um, tomara que isso seja um bug, mas, mas vamos
00:22:16deixar por isso mesmo. Ok. Um, então, esta é a quarta área onde vemos problemas surgindo. A maioria das pessoas pega
00:22:24a saída da IA e depois a envia para um TTS. Obviamente, acho que existem muitos TTSs bons no mercado
00:22:30que cuidam de muita coisa pesada, mas muitas vezes ele, ele estraga. É, o que recomendamos e
00:22:37o que temos visto é que você geralmente quer ter uma camada de normalização entre sua IA e o que
00:22:43é enviado para um TTS. Você não envia a saída da sua IA diretamente para um TTS, certo? E, e vamos passar
00:22:50por alguns exemplos. O básico, que é remover emojis, é, markdown, é, antes, antes de qualquer síntese
00:22:58no TTS. A maioria dos pipelines de orquestração faz isso, tipo, sabe, LiveCAD ou PipeCAD fariam isso
00:23:02para você se você apenas definir algumas flags. Então, eu, mas, mas certifique-se se você não estiver usando eles ou
00:23:08construindo do zero que você definiu isso explicitamente, porque você não quer que um emoji apareça
00:23:12em, em, em, em algo lido em voz alta ou, sabe, markdown aparecendo lá.
00:23:17Ok. Acho, acho que alguns mais comuns, é, dicionários personalizados. A maioria dos motores de TTS fornece
00:23:23isso a você, é, como pronunciar palavras personalizadas, sejam elas, é, sabe, nomes próprios, marcas,
00:23:30é, siglas e assim por diante. Então, defina isso, é, quando você for da sua IA para a saída do TTS,
00:23:36porque se não fizer, você vai estragar isso. E eu, eu vou te mostrar um exemplo de como testamos
00:23:40isso. É, o outro é que a maioria dos motores também te dá velocidade. Então, se você sabe que está pronunciano
00:23:47uma entidade, desacelere, faça seu agente desacelerar. Então, a 0.8x ou 0.7x, para que ele consiga
00:23:54enunciar aquela entidade específica e não estragar a pronúncia de um e-mail ou de um número
00:24:00de telefone ou de um nome letra por letra. E sim, normalize todas as coisas confusas, né? Como e-mails,
00:24:09moeda, datas. Não deixe isso para o TTS fazer. É, a maioria deles faz, mas não deixe
00:24:15para o TTS fazer. Tipo, construa sua camada de normalização na sua ponta para que amanhã você ache que
00:24:21precisa trocar de TTS ou, é, por qualquer motivo o primeiro caiu e você quer usar
00:24:25outro TTS, você consiga não depender nativamente do motor do TTS, mas construa
00:24:32isso internamente, é, para que seja gerenciado. E aí, é, acho que, eu não tenho meu sobrenome
00:24:39aqui, mas eu, eu não tenho meu sobrenome nisso. Então, meu primeiro teste é se ele não consegue pronunciar meu sobrenome
00:24:44ou o nome da minha empresa, ele já está falhando. Então, meu sobrenome é, é, Balasubramanian,
00:24:50e se você não consegue pronunciar isso usando um agente de voz de IA, é, isso é um teste para mim. Eu, eu sei,
00:24:56tipo, é, é, sabe, o agente vai errar muitas palavras que, é, sabe, precisam ser soletadas
00:25:04dia após dia. A segunda é o nome da nossa empresa, Pliwo. Então, muitos motores pronunciam
00:25:09Pliwo ou, é, Pliwo e assim por diante. Mas, mas acho que especificamente poder controlar isso
00:25:16no seu pipeline é super crítico. E aí, se você está construindo um, se você está construindo um produto
00:25:21voltado para o cliente, então, é, dê essa opção aos seus clientes. Certo,
00:25:26eu só vou passar rapidamente pelos, pelos últimos dois slides. É, eu, eu estou estourando muito o tempo.
00:25:32É, detecção de fim de turno, acho que este é um tópico separado, mas vou
00:25:36puxar rapidamente todos os pontos para vocês poderem dar uma olhada. E se, se vocês quiserem conversar, é,
00:25:41depois disso, podemos, podemos falar sobre isso. Certo, é, eu só vou deixar isso por uns cinco
00:25:49segundos e aí, e aí podemos conversar sobre isso offline. Eu, eu estou bem atrasado no tempo. E aí o,
00:25:53o, o último é, é, interrupção e, e escuta ativa (backchanneling). Acho que há muita conversa sobre
00:25:58modelos de fala para fala que fazem parte disso, mas nós conseguimos ver como poderíamos fazer tudo isso
00:26:03em pipelines de fala para fala. Você realmente não precisa de um modelo de fala para fala para fazer tudo isso.
00:26:07É, de novo, eu vou apenas, vou colocar isso no slide e, e encerrar com isso. É,
00:26:15tudo bem. Acho que não temos tempo para perguntas. Podemos respondê-las offline se tiverem tempo, mas,
00:26:19é, tomara que isso tenha sido útil e dado alguns insights sobre, é, o que estamos vendo em produções,
00:26:24é, com bilhões de chamadas em escala. Certo. Obrigado.
00:26:29Até a próxima.
커뮤니티 글
아직 글이 없습니다. 이 영상에 대한 첫 번째 글을 작성해 보세요!
이 영상에 대해 글쓰기