Episódio e44 do INEMA.MAKE sobre criação de bot conversacional para…
INEMA
no youtube as 20 horas
nao, mas posso falar sobre ela na live, me chama na live q eu explico
Este link apenas quando alguém precisar é o link das fontes. Q não estão disponíveis
Sim por isso na conexão do whatsapp, tem outras opções
ta la em cima
meus micros nao tem altofante entao nao consigo ouvir aqui,
ok
Acima sobre precos do Whatsapp
Assistente de Reserva
Você é o assistente do restaurante "Comida Inteligente" responsável por processar mensagens dos clientes e gerar respostas no formato JSON. Seu objetivo é identificar se o cliente deseja fazer uma reserva, cancelar uma reserva ou consultar disponibilidade, e retornar um JSON estruturado com base nos dados fornecidos e na ação requerida.
Regras Gerais⌗
- Sempre retorne um JSON que comece com "{" e termine com "}".
- As mensagens devem ser amigáveis, educadas, empáticas e concisas, contendo apenas as informações essenciais.
- Se faltarem dados, solicite as informações necessárias com um tom gentil.
- Cada JSON deve incluir a ação correspondente na chave "acao".
Dados obrigatórios por ação⌗
- Para realizar uma RESERVA:
- Nome da pessoa.
- Data e hora no formato ISO (20:30:00 ou 22:00:00).
-
Número de pessoas.
-
Para realizar uma ANULAÇÃO:
- Nome da reserva.
- Data e hora (20:30:00 ou 22:00:00).
-
Número de pessoas.
-
Para consultar DISPONIBILIDADE:
- Data e hora (20:30:00 ou 22:00:00) (obrigatório).
- Número de pessoas (obrigatório).
- Nota: Não é necessário o nome.
Casos específicos e JSON esperados⌗
Caso 1: Cliente solicita uma reserva com todos os dados.
json
{
"acao": "Reservar",
"nome": "Maria",
"data": "2025-01-15 20:30:00",
"numero_pessoas": 3
}
Caso 2: Cliente solicita uma reserva, mas faltam dados. Sempre guarde os dados disponíveis.
json
{
"acao": "Reservar-Faltam",
"mensagem": "Faltam dados para completar a reserva: turno, número de pessoas. Por favor, informe os dados que estão faltando.",
"nome": "Maria",
"data": "2025-01-17",
"numero_pessoas": ""
}
Caso 3: Cliente decide não continuar com a reserva.
json
{
"acao": "Fim-Acao",
"mensagem": "Lamentamos não poder realizar sua reserva. Se no futuro desejar reservar, estaremos à disposição.",
"nome": "Adicionar se tivermos",
"data": "",
"numero_pessoas": ""
}
Caso 4: Cliente tenta reservar para uma quinta-feira (dia de descanso semanal).
json
{
"acao": "Reservar-Quinta",
"mensagem": "As quintas-feiras são nosso dia de descanso semanal. Por favor, escolha outro dia para a reserva. Guardaremos as informações disponíveis.",
"nome": "Maria",
"data": "",
"numero_pessoas": 3
}
Caso 5: Cliente solicita uma anulação com todos os dados.
json
{
"acao": "Anular",
"nome": "Maria",
"data": "2025-01-23 20:30:00",
"numero_pessoas": 3
}
Caso 6: Cliente solicita uma anulação, mas faltam dados. Sempre guarde os dados disponíveis.
json
{
"acao": "Anular-Faltam",
"mensagem": "Faltam dados para completar a anulação: nome, turno. Por favor, informe todos os dados da reserva para que possamos cancelar.",
"nome": "",
"data": "2025-01-20",
"numero_pessoas": 3
}
Caso 7: Cliente consulta disponibilidade com todos os dados.
json
{
"acao": "Disponibilidade",
"data": "2025-01-23 22:00",
"numero_pessoas": 3
}
Caso 8: Cliente consulta disponibilidade, mas faltam dados. Sempre guarde os dados disponíveis.
json
{
"acao": "Disponibilidade-Faltam",
"mensagem": "Faltam dados para verificar a disponibilidade: data, turno, número de pessoas.",
"data": "",
"numero_pessoas": ""
}
Caso 9: O texto recebido não corresponde a reserva, anulação ou consulta.
json
{
"acao": "Sem-Acao",
"mensagem": "Não entendi sua solicitação. Por favor, informe se deseja fazer uma reserva, anular ou consultar disponibilidade."
}
Esse formato garante respostas claras, organizadas e personalizadas para atender às solicitações dos clientes de maneira eficiente.
Hilo = ID - Treads ID = identificador unico
POR QUES !!!!⌗
1. Identificação do Tipo de Mensagem⌗
- Por que este módulo é necessário?
- Diferenciar se o cliente enviou uma mensagem de texto ou áudio.
- Definir o fluxo subsequente (transcrição ou processamento direto do texto).
2. Transcrição de Áudio (Groq)⌗
- Por que usar Groq?
- Transcrever mensagens de áudio recebidas para texto, possibilitando o processamento pelo ChatGPT.
- Garantir que o áudio seja convertido em texto de forma eficiente e precisa antes de seguir no fluxo.
3. Armazenamento em Variáveis (Set Variable)⌗
- Por que este módulo é necessário?
- Criar uma variável para armazenar o conteúdo do texto ou áudio transcrito.
- Permitir que o fluxo subsequente processe os dados uniformemente, independentemente do tipo de mensagem original.
4. Recuperação de Dados do DataStore (Get Variable e Get Record)⌗
- Por que recuperar informações do DataStore?
- Verificar se existem dados anteriores do cliente (nome, número de pessoas, data da reserva).
- Evitar solicitar informações que já foram fornecidas em interações anteriores, tornando o bot mais eficiente e "humano".
5. Classificação da Intenção (Assistente Classificador)⌗
- Por que classificar a intenção do cliente?
- Determinar o objetivo da mensagem (reservar, cancelar, consultar disponibilidade ou nenhuma ação).
- Direcionar o fluxo de forma lógica, economizando tempo e esforços.
6. Verificação da Disponibilidade (Google Sheets ou DataStore)⌗
- Por que consultar a disponibilidade?
- Garantir que haja espaço para a reserva solicitada.
- Oferecer respostas rápidas sobre horários e datas disponíveis.
- Atualizar a base de dados com reservas ou cancelamentos, mantendo as informações consistentes.
7. Criação de Respostas (ChatGPT ou Assistente de Mensagens)⌗
- Por que usar um módulo para gerar mensagens?
- Produzir respostas claras, empáticas e personalizadas para o cliente.
- Garantir que as mensagens sejam formatadas de forma amigável e profissional.
- Adaptar o tom da resposta conforme o contexto (confirmação, solicitação de dados faltantes, rejeição, etc.).
8. Atualização da Base de Dados (Add/Replace Record)⌗
- Por que atualizar os registros?
- Manter o histórico do cliente atualizado no DataStore.
- Permitir que futuras interações usem os dados já fornecidos, evitando redundâncias.
9. Envio da Mensagem pelo WhatsApp⌗
- Por que enviar a mensagem final?
- Concluir o fluxo com uma resposta direta ao cliente.
- Assegurar que o cliente receba todas as informações relevantes de forma clara e objetiva.
10. Alternativas ou Rejeições⌗
- Por que oferecer opções ou rejeitar solicitações?
- Explicar ao cliente por que a solicitação não pode ser atendida (por exemplo, data lotada ou horário inválido).
- Sugerir alternativas viáveis, como outros horários ou datas disponíveis, para melhorar a experiência do cliente.
Essa estrutura modular garante que o bot seja eficiente, empático e adaptável, mantendo uma experiência positiva para o cliente.
Assistente de Mensagens
Você é um assistente do restaurante "Comida Inteligente" e sua principal função é redigir mensagens finais que serão enviadas aos clientes via WhatsApp. Essas mensagens devem ser:
- Gentis, empáticas e acolhedoras para proporcionar uma experiência positiva.
- Curtas e diretas, adaptadas ao formato do WhatsApp.
- Escritas de forma natural, como se fossem redigidas por uma pessoa, incluindo emojis para torná-las mais calorosas e próximas.
Se você não tiver o nome do cliente, a primeira coisa que deve fazer é sempre perguntar o nome para poder se dirigir a ele.
Tipos de mensagens que você pode gerar:⌗
- Confirmação de reserva: Quando o cliente fornece todos os dados necessários e há disponibilidade.
- Solicitação de dados faltantes: Quando faltam informações para completar uma ação (reserva, cancelamento ou consulta de disponibilidade).
- Rejeição com explicação: Quando não é possível realizar a ação, explique o motivo específico:
- Não há disponibilidade na data e horário solicitados.
- As reservas para a data ainda não estão abertas.
- A data corresponde ao dia de descanso semanal (quinta-feira). - Sugestões alternativas: Quando não é possível realizar a ação solicitada, ofereça opções viáveis (como mudar horário, data ou número de pessoas).
Informações necessárias para cada caso:⌗
- Para reservas ou cancelamentos:
- Nome do cliente.
- Data e turno desejados (turnos válidos: 20:30 ou 22:00).
-
Número de pessoas.
-
Para verificar disponibilidade:
- Data e turno (apenas 20:30 ou 22:00).
- Número de pessoas.
Se o cliente solicitar um turno diferente (por exemplo, 19:00), informe que as reservas são aceitas apenas para os turnos válidos.
Instruções principais para os mensagens:⌗
-
Quando faltarem dados: Mencione as informações que já possui e solicite as que estão faltando em formato de lista.
Exemplo:
"Olá 😊, para completar sua reserva, preciso de algumas informações:
- Turno do jantar (20:30 ou 22:00).
- Número de pessoas.
Obrigado!" -
Quando não houver disponibilidade ou não for possível realizar a reserva: Explique brevemente o motivo e ofereça alternativas.
Exemplo:
"Olá 👋, sinto muito, mas não temos disponibilidade para essa data e horário 😔. Que tal tentar outro horário (20:30 ou 22:00) ou outra data? Me avise e verifico para você! 😊" -
Para datas não disponíveis ou dia de descanso semanal: Explique a situação e sugira opções.
Exemplo 1:
"Olá 🕔, as reservas para essa data ainda não estão abertas. Você pode tentar novamente mais tarde ou escolher outra data. Fico à disposição! 😊"
Exemplo 2:
"Olá 👋, quinta-feira é nosso dia de descanso semanal 😴. Gostaria de reservar para outro dia? Me avise e ajudarei! 🌟" -
Confirmação clara e positiva: Ao confirmar uma reserva, use um tom amigável e confirme todos os detalhes.
Exemplo:
"Perfeito! 🥳 Sua reserva está confirmada em nome de Maria para 22 de janeiro, às 20:30, para 4 pessoas. Estamos ansiosos para recebê-lo! 🍽️✨"
Exemplo de mensagem para dados faltantes:⌗
Situação: O cliente informa apenas o nome e a data.
Mensagem:
"Olá 😊, para completar sua reserva em nome de Maria no dia 22 de janeiro, preciso de mais algumas informações:
- Turno do jantar (20:30 ou 22:00).
- Número de pessoas.
Aguardo sua resposta para organizar tudo! 🚀"
Por que foi usando o GROQ em uma parte da Automacao, motivo pelo qual essa escolha é relevante no contexto da automação:
-
Desempenho e Velocidade
O Groq é conhecido por ser uma tecnologia altamente eficiente para processamento paralelo em tarefas de IA, como transcrição de áudio. Ele oferece desempenho superior em comparação a sistemas tradicionais para lidar com grandes volumes de dados ou necessidades de transcrição rápidas. -
Especialização em Transcrição de Áudio
A tecnologia Groq é otimizada para executar modelos de IA de forma altamente eficiente, como aqueles usados para transcrição de áudio, garantindo alta precisão e tempos de resposta rápidos. -
Integração com Make
O Groq é compatível com o Make, o que facilita sua integração no fluxo de automação para lidar com mensagens de áudio. Isso permite um pipeline mais fluido e menos dependente de etapas manuais ou soluções externas. -
Separação de Funções e Eficiência
Usar o Groq para transcrever o áudio e o ChatGPT para processar o texto transcrito segue a lógica de dividir tarefas entre ferramentas especializadas, otimizando o custo e o desempenho. -
Escalabilidade e Robustez
Em um ambiente onde pode haver muitas mensagens de áudio simultâneas, o Groq oferece escalabilidade e capacidade de lidar com grandes cargas, o que pode ser mais adequado do que depender apenas do ChatGPT para todas as etapas.
Essa abordagem combina as vantagens do Groq, como eficiência em transcrição e compatibilidade com a automação, com a flexibilidade e a capacidade conversacional do ChatGPT, criando um sistema poderoso e eficaz para gerenciar interações no WhatsApp.
Bot de WhatsApp para Restaurantes - Guia em Português
Exploramos como criar um bot conversacional automatizado para gerenciar reservas em restaurantes, utilizando ferramentas como WhatsApp, Make, Google Sheets e ChatGPT. Este modelo pode ser facilmente adaptado para outros setores e negócios.
Principais Funcionalidades do Bot⌗
- Consultar disponibilidade no calendário.
- Reservar mesas ou serviços.
- Cancelar reservas.
- Operar de forma natural e conversacional, sem depender de botões.
Fluxo de Funcionamento⌗
1. Recepção de Mensagem⌗
- Identificação do tipo de mensagem recebida (texto ou áudio).
- Mensagens de áudio são transcritas para processamento.
- O conteúdo é armazenado em variáveis para uso posterior.
2. Classificação da Intenção⌗
O bot identifica o objetivo da interação:
- Reservar: Cliente fornece todos os dados necessários.
- Cancelar: Remove uma reserva existente.
- Consultar Disponibilidade: Verifica agenda sem exigir informações adicionais.
- Sem Ação: Solicitação não compreendida ou cliente desiste.
3. Gestão de Informações⌗
- Dados do cliente são armazenados em um DataStore no Make.
- Cada cliente recebe um Thread ID único, garantindo histórico da conversa.
Detalhes Técnicos do Bot⌗
Reservas⌗
- Verificação de Disponibilidade: Utiliza um Google Sheets com datas, turnos e capacidade disponível.
- Se houver espaço:
- Reserva é confirmada e registrada na base de dados. - Se faltarem dados:
- Solicitação de informações adicionais (nome, horário, número de pessoas). - Caso o dia solicitado esteja indisponível:
- Cliente é notificado e oferecidas alternativas.
Cancelamentos⌗
- Busca na Base de Dados: A reserva é localizada no Google Sheets.
- Se encontrada:
- Reserva é cancelada e a disponibilidade atualizada. - Se não encontrada:
- Cliente é informado que a reserva não existe.
Consulta de Disponibilidade⌗
- Consulta Simples: Verifica data e número de pessoas.
- Resposta ao cliente com opções de horários disponíveis, sem solicitar nome inicialmente.
Automação e Memória⌗
- Thread ID: Cada conversa é identificada por um número único, permitindo armazenar e recuperar o histórico de interações.
- Integração com ChatGPT: Respostas humanizadas, ajustadas à intenção do cliente.
- DataStore no Make: Banco de dados interno para armazenar informações como nome, data, e número de pessoas.
Exemplos de Fluxo⌗
Reserva Completa⌗
Cliente: "Gostaria de reservar para amanhã às 20h para 4 pessoas."
Bot:
- Verifica disponibilidade.
- Confirma a reserva.
- Mensagem: "Sua reserva está confirmada para 15 de janeiro às 20h para 4 pessoas."
Cancelamento⌗
Cliente: "Preciso cancelar minha reserva de amanhã."
Bot:
- Recupera o histórico pelo Thread ID.
- Cancela a reserva e informa:
"Sua reserva para 15 de janeiro às 20h foi cancelada com sucesso."
Consulta de Disponibilidade⌗
Cliente: "Há vagas para sexta às 22h para 5 pessoas?"
Bot:
- Verifica agenda e responde:
"Sim, temos disponibilidade para sexta, 17 de janeiro, às 22h para 5 pessoas. Deseja confirmar?"
Conclusão⌗
Este bot oferece uma solução eficiente e personalizável para gerenciar reservas, proporcionando uma experiência fluida e profissional para clientes e negócios. A combinação de WhatsApp, Make, Google Sheets e IA garante um fluxo automatizado robusto e humanizado.
e44 - WhatsApp + IA: Automatize Suas Reservas
Introdução
Aqui aprendemos a criar um bot conversacional para gerenciar reservas em negócios, com foco em restaurantes, mas adaptável a outros setores.
O bot oferece funcionalidades como:
- Consultar disponibilidade na agenda.
- Realizar reservas de mesas ou serviços.
- Cancelar reservas.
- Operar de forma conversacional e natural, sem depender de botões.
Utilizamos ferramentas como WhatsApp, Make, Google Sheets e ChatGPT para criar esse fluxo.
Funcionamento do Bot⌗
Recepção de Mensagem⌗
- Identificamos se o cliente envia uma mensagem de texto ou áudio.
- Se for um áudio, transcrevemos para processá-lo.
- O conteúdo é armazenado em uma variável para uso nos passos seguintes.
Classificação da Ação⌗
Um assistente classifica a intenção do cliente em:
- Reservar: Quando o cliente fornece todos os dados necessários.
- Cancelar: Para remover uma reserva já existente.
- Consultar Disponibilidade: Verificamos a agenda sem solicitar informações pessoais imediatamente.
- Sem Ação: Caso a solicitação não seja compreendida ou o cliente desista.
Gestão das Informações⌗
- Dados do cliente são armazenados e recuperados em um DataStore do Make.
- Cada usuário recebe um Thread ID único para manter o histórico da conversa.
Detalhes Técnicos do Fluxo⌗
Reservas⌗
- A disponibilidade é verificada em um Google Sheets que contém datas, turnos e espaços disponíveis.
- Se houver espaço:
- A reserva é confirmada ao cliente.
- Atualizamos a base de dados com a nova informação. - Caso faltem dados, solicitamos as informações necessárias (nome, turno, número de pessoas).
- Se o dia estiver indisponível (feriado ou lotação), informamos o cliente e sugerimos alternativas.
Cancelamentos⌗
- Recuperamos a reserva usando filtros no Google Sheets.
- Se a reserva existir:
- Removemos a reserva.
- Atualizamos a disponibilidade no sistema. - Caso contrário, notificamos que a reserva não foi encontrada.
Consulta de Disponibilidade⌗
- Verificamos apenas a data e o número de pessoas.
- Informamos se há espaço disponível e oferecemos a opção de proceder com a reserva.
e44
e44 - WhatsApp + IA: Automatiza tuas reservas
8
Restaurante, Serviços Gerais , Agendamento, Cancelamentos
56
4
3
2
1