A funcionalidade de streaming de dados em tempo real depende de uma arquitetura de processamento assíncrona bem projetada com a seguinte lógica de implementação central:
Componentes técnicos
- Agente de mensagens RedisEntrega de eventos de progresso de pesquisa como middleware Pub/Sub
- Backend FastAPIManutenção de conexões front-end longas por meio do protocolo WebSocket
- Máquina de estado LangGraphTraduzir cada etapa da pesquisa em eventos de mudança de estado observáveis
fluxo de trabalho
- Depois que o front-end inicia uma solicitação de pesquisa, o back-end cria uma tarefa assíncrona e retorna a ID da tarefa
- O agente LangGraph executa ações importantes, como "gerar consulta", "buscar página da Web" etc., e as publica no canal Redis.
- O front-end se inscreve em canais com IDs de tarefas específicas via WebSocket, fornecendo atualizações de status em tempo real
Pontos de configuração
- Deve ser definido no arquivo .env
REDIS_URL=redis://localhost:6379 - Os ambientes de desenvolvimento precisam iniciar um serviço Redis separado; recomenda-se que os ambientes de produção usem serviços de hospedagem em nuvem
- O conteúdo transmitido contém dados estruturados, que o front-end pode analisar para obter metadados, como estágio atual, porcentagem de progresso etc.
Esse design permite que tarefas de pesquisa de longa duração, que podem durar vários minutos, forneçam feedback imediato, melhorando consideravelmente a experiência do usuário.
Essa resposta foi extraída do artigoGemini Fullstack LangGraph: um aplicativo de pilha completa para pesquisa inteligente baseado no Gemini e no LangGraphO































