Voltar as noticias
Construindo um assistente de voz AI em tempo real com WebRTC e LangGraph
Agentic SEOAltaEN

Construindo um assistente de voz AI em tempo real com WebRTC e LangGraph

Dev.to - MCP·14 de junho de 2026

Recentemente terminei de construir o AI-RTC-Agent, um espaço de trabalho de assistente de voz em tempo real de código aberto. Ele lida com streaming de áudio de baixa latência, segmentação de atividade de voz e executa ferramentas locais (como busca, e-mail e calendário) enquanto mantém um fluxo de voz constante.

Aqui está o repositório do GitHub se você quiser conferir o código ou executá-lo localmente:
https://github.com/zkzkGamal/AI-RTC-Agent

A Arquitetura

O projeto é dividido em quatro serviços desacoplados para evitar que tarefas pesadas de CPU bloqueiem o loop de processamento de áudio:

  1. Cliente React: Um frontend Vite que gerencia o microfone com a API RTCPeerConnection do navegador e lida com o controle de turno de meio-duplex para evitar feedback de áudio.
  2. Processador de Áudio WebRTC: Um backend Python assíncrono usando aiortc e webrtcvad. Ele reduz a amostragem de áudio de 48kHz para 16kHz para detecção de atividade de voz e segmenta a fala do usuário.
  3. Orquestrador FastAPI: Alimentado pelo LangGraph para gerenciar o roteamento de intenções e o estado da conversa.
  4. Servidor FastMCP: Executa um modelo Whisper inicializado localmente para conversão de fala em texto (STT) e expõe ferramentas de busca e da API do Google.

Desacoplar a conexão WebRTC da transcrição e da execução de ferramentas foi crítico. Se a thread que executa a ingestão de áudio for bloqueada por um trabalho de transcrição ou uma busca na web, o fluxo de áudio perde quadros. Descarregar isso para a instância FastMCP resolve esse problema.

Troca Dinâmica de Modelos

Você pode configurar o sistema para usar diferentes LLMs e modelos STT modificando o arquivo .env. O orquestrador suporta a troca do modelo de linguagem principal entre Ollama (para executar modelos locais como Qwen), OpenAI ou Google Gemini.

Segurança entre Serviços

Para garantir a comunicação entre microserviços locais sem a sobrecarga de um banco de dados, implementei um middleware de autenticação criptográfica dinâmica personalizado. O cliente e os servidores calculam um token temporizado baseado em uma janela deslizante de 5 segundos do epoch Unix. O serviço receptor verifica a assinatura em relação aos relógios do sistema sincronizados, mantendo a autenticação sem estado.

Feedback da UI

Para manter a experiência do usuário responsiva enquanto as ferramentas estão em execução, o agente FastAPI transmite eventos Socket.IO (como tool_start e tool_finished). O frontend React exibe imediatamente indicadores mostrando o que o agente está fazendo (como chamar a ferramenta de busca DuckDuckGo) antes de transmitir a resposta de voz de volta.

Sinta-se à vontade para conferir as instruções de configuração e executar start.sh para testá-lo. Eu adoraria receber seu feedback sobre a arquitetura.

https://github.com/zkzkGamal/AI-RTC-Agent

Contexto Triplo Up

O AI-RTC-Agent pode transformar a interação do usuário com serviços digitais, oferecendo uma interface de voz que pode ser integrada a sites e aplicativos. Isso pode aumentar a acessibilidade e melhorar a experiência do usuário, especialmente em um mercado em crescimento de assistentes de voz.

Noticias relacionadas

Gostou do conteudo?

Receba toda semana as principais novidades sobre WebMCP.