Como Criar um Parser com IA para Mensagens de Grupos do WhatsApp em Python

Monitore 500 grupos de WhatsApp simultaneamente e você terá um fluxo de dezenas de milhares de mensagens diárias. Quando todos esses dados brutos caem em um único ponto de entrada, o desafio deixa de ser a coleta (scraping) e passa a ser o processamento inteligente: como separar conversas casuais de oportunidades comerciais, leads urgentes ou informações críticas sem sobrecarregar seu banco de dados ou estourar o orçamento de chamadas de API?

A solução eficiente exige uma arquitetura de pipeline orientada a eventos combinando filtragem heurística e parsing semântico via Modelos de Linguagem (LLMs).


O Desafio da Escala: Ruído vs. Informação Útil

Em um cenário com centenas de grupos, mais de 90% das mensagens consistem em saudações, figurinhas, memes ou mensagens fora de contexto. Tentar passar cada payload bruto diretamente por um LLM comercial torna a operação lenta e financeiramente inviável.

Para resolver isso de forma escalável em Python, a pipeline ideal deve operar em camadas:

  1. Camada de Ingestão e Fila (Broker): Mensagens chegam do scraper via webhook/RabbitMQ/Redis.
  2. Pré-filtro de Baixa Latência (Heurística/Embeddings): Eliminação rápida de ruídos e verificação de regras mínimas.
  3. Parser Estruturado com IA: Extração de campos definidos (intenção, produto, preço, localização, contato) usando LLMs com saídas estruturadas (JSON Schema).
  4. Roteamento de Dados: Envio para bancos analíticos, CRMs ou alertas em tempo real.

Arquitetura Técnica: Implementação em Python

Como especialista em IA e arquiteturas de dados, a abordagem mais robusta para estruturar esse fluxo combina Pydantic para validação de esquemas e o conceito de Structured Outputs de modelos LLM.

1. Definindo o Esquema com Pydantic

python
from pydantic import BaseModel, Field
from typing import Optional, List
from enum import Enum

class CategoriaMensagem(str, Enum):
OPORTUNIDADECOMPRA = “compra”
OPORTUNIDADE
VENDA = “venda”
DUVIDASUPORTE = “suporte”
SPAM
RUIDO = “ruido”

class WhatsAppParsedData(BaseModel):
categoria: CategoriaMensagem
resumo: str = Field(description=”Resumo conciso da mensagem em até 10 palavras”)
entidadeschave: List[str] = Field(description=”Produtos, marcas ou termos centrais mencionados”)
valor
mencionado: Optional[float] = Field(default=None, description=”Valor numérico se houver preço”)
urgencia: int = Field(ge=1, le=5, description=”Nível de urgência de 1 a 5″)

2. Função de Parsing com LLM

Utilizando chamadas assíncronas para manter o throughput alto em cenários de centenas de grupos:

python
import os
from openai import AsyncOpenAI

client = AsyncOpenAI(apikey=os.getenv(“OPENAIAPI_KEY”))

async def parsewhatsappmessage(rawtext: str, groupname: str) -> WhatsAppParsedData:
prompt_sistema = (
“Você é um motor de parsing para fluxos de WhatsApp. “
“Analise o texto bruto recebido e extraia apenas dados estruturados conformes ao schema.”
)

response = await client.beta.chat.completions.parse(
    model="gpt-4o-mini",
    messages=[
        {"role": "system", "content": prompt_sistema},
        {"role": "user", "content": f"Grupo: {group_name}nMensagem: {raw_text}"}
    ],
    response_format=WhatsAppParsedData,
    temperature=0.1
)

return response.choices[0].message.parsed

Otimização de Performance e Custo

Para lidar com centenas de grupos com eficiência computacional:

  • Descarte Rápido por Regras: Utilize regex e verificações de tamanho de string antes de invocar o LLM. Mensagens com menos de 3 palavras ou compostas apenas por emojis devem ser descartadas ou classificadas sem custo computacional adicional.
  • Processamento Concorrente com Celery ou Asyncio: Agrupe mensagens em pequenos lotes ou processe assincronamente através de workers distribuídos, evitando travamentos no canal de ingestão.
  • Modelos Menores e Rápidos: Para extração de esquemas simples, modelos como gpt-4o-mini, claude-3-haiku ou modelos open-source locais (Llama-3-8B-Instruct via vLLM) entregam precisão próxima a 100% com frações do custo e latência inferior a 300ms.

Conclusão e Próximos Passos

Transformar um fluxo caótico de mais de 500 grupos de WhatsApp em inteligência de negócios acionável não depende apenas de capturar mensagens, mas de construir um pipeline resiliente com parsing semântico preciso.

Se a sua empresa precisa estruturar fluxos massivos de dados, automatizar a triagem de mensagens ou construir pipelines de Inteligência Artificial de alta performance, agende uma consultoria técnica especializada e leve sua infraestrutura para o próximo nível.

Preencha o formulário abaixo para que eu consiga entrar em contato com você.