Este repositório tem o intuito de mostrar informações mais detalhadas do design pattern que chamei de Dynamic Homing, usado para desenvolver chatbots que usam plataformas orientadas a microserviços. Criei esse Pattern com o intuito e preocupação na padronização e qualidade de desenvolvimento de chatbots que utilizam Blip. Neste contexto, o uso e distribuição é totalmente aberto e para a comunidade, alterações e modificações são muito bem-vindas, desde que sigam e mentenham a mesma licença de uso.
Caso você tenha chego aqui e ainda não leu meu artigo do Medium, onde eu apresento detalhes sobre esse Pattern, sugiro que tire um tempinho antes de seguir lendo e consumindo diretamente deste repositório. Mas caso queira continuar, aqui no Github na Aba de wiki, o conteúdo também pode ser encontrado. Ele é basicamente um overview mais geral do que iremos encontrar aqui no repositório. Todo o processo com detalhes técnicos também estarão dentro da aba wiki aqui no guithub. Basta acessar a respectiva sessão para acessar os detalhes.
Para conseguir ter a experiência completa e usar o Chatbot Sample que criei para ver como implementei o Pattern, siga as instruções abaixo:
Pré requisito: ter uma conta na plataforma da Take Blip em https://account.blip.ai/login E também é necessário ter noções básicas da ferramenta, que podem ser adquiridas em: https://academy.blip.ai/
- Baixe os arquivos JSONs de dentro da pasta Chatbot_Files;
- Dentro dessa pasta, você verá dois arquivos JSONs, um chamado: dynamichomingpatternerrors e outro chamado dynamichomingpatternmain.
- Agora, basta criar um roteador e nomeá-lo como desejar.
- Após criar o roteador, crie mais dois chatbots normais(skill) do zero, sem ser o roteador. Sugiro dar um nome significativo para eles, pois ao decorrer do uso em determinados momentos da conversa ele vai mostrar qual é a skill que mandou a mensagem.
- Como pode ver, nos próprios nomes dos arquivos JSONs baixados no passo 2, eles já tem um sulfixo que indica qual skill é. Basta importar cada um em uma skill que você criou no passo 4.
- Após importar cada JSON em sua respectiva skill, basta você publicar o fluxo.
- Ao publicar o fluxo, conecte os sub-bots no seu roteador criado no passo 3. Os serviços devem ser chamados conforme abaixo, para funcionarem sem precisar fazer alterações no fluxo:
- Skill principal: main (marcar a opção que este é meu chatbot principal)
- Skill de erros: errors
Pronto, tudo pronto para você testar a primeira implementação do Pattern.
Na fase atual dessa implementação, abordo exclusivamente apenas o tipo de redirecionamento do tipo O.D.R.