Projeto de Agente de IA para Nutrição
Olá, neste post apresento um dos meus projetos de portfólio: o WhatsNutri, um agente de IA especializado em nutrição que opera via WhatsApp. Este projeto demonstra minha expertise em integrar tecnologias de automação, bancos de dados e APIs para criar soluções inteligentes e personalizadas. Utilizando ferramentas como n8n, PostgreSQL, Redis, Evolution API e Chatwoot, o sistema oferece suporte nutricional, análise de refeições, criação de dietas e integração com produtos de uma loja de suplementos.
O foco é fornecer um assistente amigável que coleta dados de usuários, gerencia conversas e responde com base em prompts de IA, tudo de forma escalável e segura. Este projeto reflete minha paixão por automações inteligentes e análise de dados aplicados à saúde e bem-estar.
Sobre o Projeto
O WhatsNutri é um assistente virtual via WhatsApp que ajuda usuários a gerenciarem sua nutrição diária. Ele coleta dados pessoais para criar perfis nutricionais, analisa refeições, sugere ajustes em dietas e integra recomendações de produtos de uma loja parceira (Day1 Nutrition). O sistema é dividido em "departamentos" como cadastro de usuários, suporte calórico, criação e importação de dietas.
O workflow principal é gerenciado pelo n8n, que orquestra fluxos de dados entre o WhatsApp (via Evolution API), bancos de dados (PostgreSQL e Redis para buffering de mensagens) e integrações com IA (OpenAI para chat completions). Chatwoot é usado para monitoramento e gerenciamento de conversas.
Baseado no arquivo JSON fornecido ("Whatsnutri v2.1.json"), o workflow no n8n inclui mais de 50 nodes que lidam com tarefas como:
- Consulta e criação de usuários no PostgreSQL.
- Processamento de mensagens (texto, áudio, imagens, documentos) com OCR para extrair conteúdo.
- Integração com OpenAI para gerar respostas personalizadas baseadas em prompts específicos para cada "departamento".
- Gerenciamento de acesso (verificação de assinaturas e expirações).
- Buffering de mensagens com Redis para handling assíncrono.
- Envio de respostas formatadas via WhatsApp.
O JSON descreve um workflow ativo com nodes como "Obter o Usuário" (para queries SQL), "Agente Cadastro" (para configuração de prompts de IA), e integrações HTTP para chamadas à API da OpenAI. Conexões entre nodes garantem fluxos lógicos, como verificação de existência de usuário antes de criar um novo, ou roteamento de mensagens para o departamento correto.
Funcionalidades
- Cadastro de Usuários:
- Coleta dados como nome, gênero, altura, peso, data de nascimento, objetivo nutricional e nível de atividade física.
- Calcula métricas como IMC (BMI) e TMB (BMR) automaticamente.
- Análise e Suporte Nutricional:
- Analisa refeições enviadas via texto, áudio, imagens ou documentos (com OCR para extração de texto).
- Sugere ajustes e integra produtos da loja Day1 Nutrition com justificativas nutricionais.
- Criação e Importação de Dietas:
- Gera dietas personalizadas ou importa planos existentes de nutricionistas.
- Gerenciamento de Conversas:
- Suporte a mensagens frias (para leads não assinantes) com redirecionamento para assinatura.
- Verificação de acesso e expiração de assinaturas.
- Integrações Inteligentes:
- Uso de prompts personalizados para cada departamento, com formatação JSON para respostas estruturadas.
- Buffering de mensagens com Redis para evitar sobrecarga e garantir processamento sequencial.
Tecnologias Utilizadas
- n8n: Para automação do workflow principal, orquestrando fluxos de dados, queries SQL e chamadas de API (baseado no JSON fornecido).
- PostgreSQL: Banco de dados relacional para armazenar perfis de usuários, dietas e histórico de mensagens.
- Redis: Para buffering de mensagens e gerenciamento de estado assíncrono (ex: "push message buffer" e "get messages buffer" no workflow).
- Evolution API: Integração com WhatsApp para envio e recebimento de mensagens, incluindo áudio, imagens e documentos.
- Chatwoot: Para monitoramento e gerenciamento de conversas em tempo real.
- OpenAI API: Para geração de respostas inteligentes via chat completions, com prompts customizados para nutrição.
- Outras: OCR para processamento de imagens/documentos, e cálculos matemáticos integrados no n8n para métricas nutricionais.
Como Foi Feito: Explicação do Workflow no n8n
O workflow no n8n (descrito no JSON) é o coração do sistema. Aqui vai uma visão geral passo a passo:
-
Entrada de Mensagens:
- Node "input evolution": Recebe mensagens do WhatsApp via Evolution API.
- Node "normalizacao": Normaliza o input (ex: extrai chat_id, tipo de mensagem).
- Switch para tipos de mensagens (texto, áudio, imagem, documento) e processamento específico (ex: transcrição de áudio com OpenAI, OCR para imagens).
-
Gerenciamento de Usuários:
- Node "Obter o Usuário": Consulta PostgreSQL para verificar se o usuário existe baseado no chat_id.
- Se não existe, "Criar o usuário": Insere novo registro no banco.
- Calcula campos como BMI e BMR no node "Set Campos Calculados no User".
-
Processamento de Mensagens:
- Nodes como "Obtem Mensagens" e "Mensagens ORDENADAS": Recupera histórico de conversas do Redis/PostgreSQL.
- "Processar Mensagens": Prepara array de mensagens para envio à OpenAI.
-
Roteamento por Departamento e Acesso:
- Switchs como "Switch Acesso" e "Switch Departamento": Verifica assinatura e roteia para agentes específicos (Cadastro, Suporte Calórico, Criação de Dieta).
- Para leads frios: Redireciona para assinatura via Instagram.
-
Geração de Respostas com IA:
- Nodes "Agente [Departamento]": Configura prompts personalizados (ex: para cadastro, inclui boas-vindas e coleta de dados).
- "Conversor para API Completions": Prepara payload para OpenAI (modelo gpt-4o, temperature 0.5).
- "API Call Completions": Chama a API da OpenAI.
- "Parse Response": Extrai conteúdo JSON da resposta (mensagem e dados do usuário).
-
Saída e Atualizações:
- Atualiza banco com novos dados (ex: "Atualiza Informações USER").
- Envia resposta via WhatsApp (node "Responder TEXTO").
- Salva mensagens no histórico (PostgreSQL/Redis).
O workflow inclui proteções como ignorar comandos maliciosos, manter escopo no tema de nutrição e formatar saídas em JSON estrito.
Por que este projeto é importante?
Este projeto destaca minha habilidade em criar sistemas de IA conversacionais escaláveis para saúde e nutrição. Ele integra múltiplas tecnologias para uma experiência seamless via WhatsApp, promovendo adesão a dietas e bem-estar. Além disso, demonstra expertise em automação com n8n, gerenciamento de dados com PostgreSQL/Redis e integrações éticas de IA, evitando riscos à saúde.
Próximos passos
Pretendo expandir com:
- Integração de mais ferramentas de IA para análise avançada de nutrientes.
- Suporte a múltiplos idiomas e personalizações regionais.
- Dashboards no Chatwoot para nutricionistas monitorarem usuários.
- Testes de performance para escalabilidade em alto volume de mensagens.
Contribua!
Contribuições são bem-vindas! Se você tiver sugestões para melhorias no workflow ou integrações, abra issues ou pull requests no repositório (em breve disponível publicamente).
Conecte-se comigo
Quer discutir sobre IA aplicada à nutrição ou colaborar em projetos de automação? Conecte-se comigo no LinkedIn ou confira outros projetos no meu GitHub.
Obrigado por ler! Se gostou deste projeto, acompanhe o blog para mais conteúdos sobre IA, automação e tecnologia.
Publicado por Jefferson Peixoto em 17 de dezembro de 2025