Agentes de Voz em Tempo Real com Inteligência de Fronteira — Bohan Li, EliseAI

AAI Engineer
컴퓨터/소프트웨어AI/미래기술

스크립트

00:00:00Meu nome é Bo. Vou apresentar sobre Agentes de Voz em Tempo Real com Inteligência
00:00:18de Fronteira. Basicamente, vou falar um pouco sobre como nós, na
00:00:22Elise AI, arquitetamos nosso sistema de agentes de voz para obter voz em tempo real com o
00:00:28nível de inteligência de fronteira de que precisamos. Então, antes de começar, acho que queria
00:00:36traçar alguns paralelos sobre por que decidimos optar por agentes de voz em cascata
00:00:42e, especialmente, comparando isso com carros autônomos, com os quais eu trabalhava
00:00:48antes. Então, para mim, agentes de voz em cascata fazem muito sentido quando vistos através
00:00:53da ótica de dividi-los em percepção, que para carros autônomos
00:00:59são, sabe, as caixas delimitadoras, a câmera, o lidar. Para voz, vai ser a
00:01:05transcrição, basicamente transformando esses sinais do mundo real
00:01:09em elementos de dados que o modelo de linguagem ou qualquer cérebro com o qual você esteja trabalhando possa
00:01:17processar. O segundo é a pilha de planejamento, o que é bem direto.
00:01:23Aqui é onde o modelo de linguagem recebe as saídas do estágio de percepção e produz
00:01:29as saídas que você deseja enviar de volta para o mundo real. E, finalmente, há a camada de controle,
00:01:36onde, na direção autônoma, você pega a trajetória gerada pelo planejador e
00:01:43a transforma em controles reais para guiar o carro. Aqui, transformamos o texto em
00:01:50áudio que usamos para expressar os pensamentos dos nossos agentes de voz. E é isso, aqui vou mergulhar em
00:02:00cada um desses elementos, e criamos alguns truques interessantes em cada uma dessas áreas para
00:02:08melhorar a velocidade dos nossos agentes de voz sem sacrificar a inteligência.
00:02:13Portanto, o primeiro será a camada de transcrição. Nós criamos esse conceito chamado
00:02:19transcritor especulativo de streaming, onde efetivamente sobrepomos um transcritor
00:02:24de streaming rápido como o flux em cima ou abaixo de um scribe v2 ou de uma transcrição em lote precisa
00:02:33que absorve mais contexto. É um pouco mais lento, mas oferece detecções mais precisas.
00:02:39Vamos passar por um cenário agora: neste caso, o agente acabou de perguntar, fornecendo
00:02:44você pode escrever seu nome e data de nascimento?, e o usuário vai dizer isto, e veremos como isso
00:02:49se desenrola em termos de tempo. Primeiro, vamos obter a detecção inicial. Vamos obtê-la
00:02:57da camada de streaming. A camada precisa, a camada corretiva, não vai ser acionada porque é o mesmo texto.
00:03:05Vamos obter mais detecções de texto em streaming e, neste caso, a camada corretiva é na verdade
00:03:11cancelada porque obtivemos texto novo, então mais contexto e mais áudio vão sobrepujar o antigo mais preciso.
00:03:21E é aqui que surge a primeira correção. Como a camada scribe v2 entende
00:03:27o contexto da pergunta, ela consegue compreender que se trata de um nome e de uma data de nascimento.
00:03:34E depois mais algumas detecções. Estas são apenas pontuações. Não nos importamos.
00:03:37E no final, liberamos esse texto para o agente.
00:03:44Passando para a camada do modelo de linguagem. Aqui, como estamos usando esses LLMs lentos, mas
00:03:52inteligentes, queremos realmente reduzir o número de viagens de ida e volta, e a coisa que nos faz fazer
00:03:58muitas inferências é a chamada de ferramentas. Uma forma de eliminar isso é fazendo com que agentes em segundo plano façam a chamada de ferramentas
00:04:05por você e insiram as ferramentas de volta no contexto do agente principal, para que ele pense que
00:04:13fez a chamada de ferramenta, mas na verdade não fez. Lembre-se da detecção anterior. O que vai acontecer é que cada uma dessas detecções vai acionar
00:04:26uma geração antecipada do agente, mas não vamos emitir isso até confirmarmos que
00:04:38o usuário terminou de falar. Neste caso, o usuário diz “claro”. O agente sabe que o usuário está prestes a dizer outra coisa.
00:04:45Nossa chamada de ferramenta em segundo plano, que vai nos ajudar a descobrir o nome e a data de nascimento a partir da detecção do usuário,
00:04:51não está sendo disparada, então nada muito relevante ali. A próxima detecção instantânea chega. Diz que ainda não é bem um nome.
00:05:02Nosso agente acompanha o fluxo e continua.
00:05:06Mais contexto retorna. O agente sente que deveria haver um nome.
00:05:11Ele vai pedir para soletrar porque provavelmente está achando que há algum erro de transcrição.
00:05:16Ainda sem nome ou data de nascimento. E então, finalmente, esta é a nossa detecção
00:05:22instantânea final corrigida pelo transcritor do scribe v2.
00:05:27Aqui, nossa geração de agente impaciente que foi feita sem nenhuma chamada de ferramenta será cancelada
00:05:34porque o agente em segundo plano finalmente consegue encontrar o nome e a data de nascimento que procura.
00:05:38Portanto, ele é reacionado e agora o agente realmente tem o contexto necessário.
00:05:45E você vê aqui que estamos fazendo isso. A chamada de ferramenta aqui é um pouco
00:05:49mais inteligente. Vamos corrigir erros de transcrição de nomes,
00:05:53fazendo alguma correspondência fonética.
00:05:57E sim, assim que entendermos que este é o fim da fala do usuário,
00:06:02vamos emiti-la. Bem padrão.
00:06:06Ok, e a próxima camada aqui será a conversão de texto em fala. Com a conversão de texto em fala, o objetivo
00:06:12é pegar o que o agente disse, sabendo que o agente vai emitir isso de forma
00:06:16em streaming. Então, precisamos produzir áudio o mais rápido possível. E o ideal é que
00:06:24antes mesmo de o agente terminar de gerar o texto completo, você já possa reproduzir o áudio. Isso ajuda
00:06:31a esconder a latência de finalização da geração. Vou reproduzir a saída do agente
00:06:39em streaming agora. Começa com U. E, antes de aprofundar mais, há
00:06:46esse novo conceito que estamos introduzindo chamado cache de prefixo. O cache de prefixo vai
00:06:52analisar o fluxo do agente e verificar se já geramos áudio para essa sequência de palavras
00:07:02a partir de uma geração anterior ou talvez da mesma geração nesta chamada.
00:07:10Então, ele vê a palavra U. Para este cache de prefixo, nós não queremos
00:07:17acertar imediatamente em cada palavra. Vamos esperar por mais algumas palavras. Portanto, após
00:07:24três palavras, o cache de prefixo obtém seu primeiro acerto. E aqui à direita, este é o nosso
00:07:31provedor padrão de texto em fala, sabe, a Cartesia é um motor de texto em fala com suporte a WebSocket.
00:07:36Então, estamos enviando o agente pelo cache e também por WebSocket.
00:07:45Mais tokens chegam, mais cache, mais envios para o WebSocket. Nada muito a dizer aqui.
00:07:51E ok, agora temos nossa primeira coisa única, que é encontrarmos um token que realmente
00:07:59cause uma falha no cache. Faz sentido se estamos fazendo cache de gerações anteriores. “Você disse que seu nome”
00:08:05é algo bem comum, mas assim que adicionamos o nome, isso de repente resulta em uma falha no cache.
00:08:12Neste ponto, vamos emitir nosso áudio em cache. Então, “Você disse que seu nome é” vai ser
00:08:19emitido enquanto o restante do texto em streaming retorna. Assim, o usuário ouve o agente.
00:08:25O usuário não entende bem o que está acontecendo; para ele, parecem apenas tempos de resposta muito rápidos.
00:08:32E agora o texto restante flui. A essa altura, já emitimos a partir do cache.
00:08:38O cache fez seu trabalho. O restante podemos enviar para a Cartesia. E aqui está o truque
00:08:46em que a Cartesia viu toda a transcrição até este ponto. Para a Cartesia, ela não sabe
00:08:56da existência desse cache de prefixo. Ela apenas vai gerar essa frase completa com
00:09:01uma prosódia natural padrão. Mas o que fazemos é que, quando a geração retorna, como já reproduzimos
00:09:08o áudio aqui, podemos suprimir o áudio gerado pela Cartesia nesta parte
00:09:13e apenas reproduzir o restante. Assim, o usuário pode notar uma pequena falha. Vou reproduzir algum áudio depois e
00:09:21você perceberá que provavelmente não conseguirá notar. E efetivamente estamos pegando isto
00:09:28e emitindo logo após o término da reprodução deste áudio. Fica imperceptível para o usuário.
00:09:35E é isso, acho que neste ponto são muitos detalhes técnicos. A melhor forma
00:09:43é apenas reproduzir uma chamada e ver isso em ação. Gravei uma chamada e vamos ouvir o que acontece.
00:09:53Aqui vamos falar com vocês. Aqui é o Bo, GO. Elise falando.
00:09:59Olá, acho que posso estar grávida e quero agendar um ultrassom para confirmar.
00:10:03Essa é uma notícia empolgante. Pode fornecer seu nome e data de nascimento?
00:10:08Claro, é Elise trial. Data de nascimento, 2303.
00:10:15Obrigada. Você é uma nova paciente conosco?
00:10:24Sim. Bem-vinda à Bo, GO. Posso te enviar um link por mensagem para carregar suas informações de convênio?
00:10:34Claro. Ok. Enviado. Me avise quando receber.
00:10:48Recebi suas informações de convênio. A consulta mais cedo que tenho é quinta-feira,
00:10:532 de julho, às 10h. Na verdade, me dê um segundo. Deixe-me verificar minha agenda.
00:11:01Claro. Sem pressa. Você tem algo para a próxima semana?
00:11:09Para a próxima semana, posso oferecer um ultrassom com a Dra. Avery Stone na Clínica North na terça-feira,
00:11:147 de julho, às 14h ou 15h. Algum desses horários funciona para você?
00:11:20Sim, às 14h funciona. Ótimo. Sua consulta foi agendada. Esperamos vê-la em breve.
00:11:29Obrigada. Tchau. Certo. É basicamente isso.
00:11:35Sim, dá para ver um pouco disso — todo esse streaming e, sabe, muitas coisas acontecendo
00:11:43em segundo plano. E, sim, é isso que realmente torna os agentes de voz interessantes.
00:11:48E há muito esforço que pode ser feito no sistema para realmente obter uma
00:11:55conversa natural, que é o que buscamos.
00:11:59Ok. Sim. Então, acho que brevemente, sabe, na última parte, quero falar um pouco
00:12:04sobre a Elise. A Elise, sabe, nossa sede fica em Nova York, e estamos
00:12:09tentando expandir nossa presença aqui na Bay Area. Nós somos — acho que é um estilo diferente
00:12:15de empresa que as pessoas pensam quando pensam em startups de IA em São Francisco,
00:12:23onde estamos realmente muito focados apenas em ajudar as pessoas e ajudar onde elas mais
00:12:31precisam, como nas áreas mais críticas da vida. Trabalhamos com moradia, saúde, e estamos indo muito
00:12:37bem, e, sabe, há um link aqui para se juntar à nossa equipe, e vamos
00:12:45postar bastante no Twitter, então você também pode nos seguir em @Elyse.ai. É isso.
00:12:57Então, vamos postar um pouco mais no Twitter, e vamos postar um pouco mais no Twitter.

핵심 요약

A arquitetura em cascata de agentes de voz da Elise AI combina transcrição especulativa, execução de ferramentas em segundo plano e cache de prefixo para alcançar conversas em tempo real com baixa latência e inteligência de fronteira.

하이라이트

  • O sistema de agentes de voz da Elise AI utiliza uma arquitetura em cascata dividida em percepção, planejamento e controle.

  • A camada de transcrição emprega um transcritor especulativo de streaming que combina um modelo rápido com um scribe v2 mais preciso.

  • O modelo de linguagem utiliza agentes em segundo plano para realizar chamadas de ferramentas e evitar viagens de ida e volta excessivas.

  • O cache de prefixo na conversão de texto em fala gera áudio a partir de sequências de palavras anteriores para esconder a latência.

  • A empresa opera nas áreas críticas de moradia e saúde, com sede em Nova York e presença na Bay Area.

타임라인

Arquitetura em Cascata de Voz

  • Os agentes de voz em cascata dividem-se em percepção, planejamento e controle.
  • A percepção transforma sinais do mundo real em elementos de dados processáveis.
  • O planejamento utiliza modelos de linguagem para produzir respostas baseadas nas entradas da percepção.
  • O controle converte o texto gerado em áudio para expressar os pensamentos do agente.

A estrutura dos agentes de voz baseia-se em paralelos com carros autônomos. A divisão em camadas permite aplicar truques específicos em cada estágio para melhorar a velocidade sem sacrificar a inteligência do sistema.

Camada de Transcrição Especulativa

  • Um transcritor de streaming rápido é sobreposto a um scribe v2 mais preciso.
  • A camada corretiva cancela detecções anteriores quando novos fluxos de áudio e texto chegam.
  • O scribe v2 utiliza o contexto da pergunta para interpretar nomes e datas de nascimento.

O transcritor especulativo de streaming processa a fala inicial rapidamente. Quando mais contexto é absorvido, a camada corretiva ajusta o texto para garantir precisão na identificação de dados específicos.

Otimização do Modelo de Linguagem

  • Agentes em segundo plano realizam chamadas de ferramentas para reduzir o número de inferências do agente principal.
  • Gerações antecipadas ocorrem a cada detecção, mas não são emitidas até o fim da fala do usuário.
  • A correspondência fonética corrige erros de transcrição de nomes durante o processamento.

O uso de LLMs inteligentes, porém lentos, exige a eliminação de viagens de ida e volta desnecessárias. Agentes secundários executam tarefas de busca em paralelo enquanto o sistema acompanha o fluxo da conversa.

Conversão de Texto em Fala com Cache

  • O cache de prefixo verifica se o áudio para sequências de palavras já foi gerado anteriormente.
  • O áudio em cache é emitido imediatamente enquanto o restante do texto retorna do provedor.
  • O sistema suprime a parte duplicada do áudio gerado pelo provedor para manter a transição imperceptível.

A conversão de texto em fala precisa produzir áudio antes mesmo de o modelo terminar o texto completo. O cache de prefixo reduz a latência percebida reutilizando trechos comuns de frases geradas anteriormente.

Demonstração e Contexto da Elise AI

  • Uma chamada de demonstração ilustra o agendamento de um ultrassom com processamento em tempo real.
  • A sede da Elise AI fica em Nova York com expansão para a Bay Area.
  • A empresa foca em soluções de inteligência artificial para moradia e saúde.

A demonstração prática exibe o funcionamento combinado de streaming, chamadas de ferramentas e síntese de voz. A empresa direciona seus esforços para setores críticos da vida humana, como saúde e habitação.

커뮤니티 글

아직 글이 없습니다. 이 영상에 대한 첫 번째 글을 작성해 보세요!

이 영상에 대해 글쓰기