Racom Chatbot
Chatbot construido com o framework Rasa.
Como executar
Necessário instalar Docker e Docker Compose.
Para inicializar a aplicação, basta executar o comando abaixo na raiz do projeto:
docker-compose up
Cainais
- Telegram: @racom_bot
- Webchat: :4445
Portas utilizadas
localhost:3306: Racom Banco de dados (MySQL)localhost:4040: Túnel de conexão (Ngrok)localhost:4444: Racom API (Node.js)localhost:4445: Webchatlocalhost:5002: Rasa APIlocalhost:5005: Rasa Serverlocalhost:5055: Rasa Action Server
Observações
-
Ao executar a aplicação, o server do chatbot irá ser executado na porta
:5005e irá criar um túnel nessa porta para que o server possa ser acessado através da rede externa, em vez de somente local. -
Quando Ngrok executa, ele gera uma URL aleatória. O arquivo
/chatbot/main.pychamará o módulo/chatbot/support/set_telegram_config.pyque irá extrair essa URL e atualizar o arquivochatbot/credentials.ymlem tempo de execução, definido a variável$TELEGRAM_URLcom este valor. Com isso, o chatbot poderá ser utilizado no Telegram sem necessidade de outra configuração. -
A penúltima etapa da execução é treinamento do modelo. O output do progresso de treinamento é incompatível com o terminal do Docker, por isso pode parecer que o build travou na mensagem
Training NLU model...mas está sendo executado em segundo plano.
Estrutura
Aplicações
-
faq: Aplicação que utiliza o framework Scrapy para extrair os FAQs do site da Fiocruz e alimentar o banco de dados com as informações extraídas.
-
api: Aplicação em TypeScript e Node.js para integração do banco de dados com o chatbot
-
chatbot: Chatbot construído em Rasa para atendimento automatizado para auxílio de dúvidas sobre Coronavírus.
Diretórios
.
├── api - Diretório da API para comunicação com o banco de dados
├── chatbot - Diretório de instalação do Rasa
├── faq - Diretório para scrapping e alimentação do banco de dados com FAQs
Banco de dados
├── TFAQ - Armazena FAQs extraídos do site da Fiocruz
├── TCategory - Armazena categoria dos FAQs
├── TUnrecognizedMessage - Armazena mensagens não reconhecidas pelo chatbot
Diagramas
Documentação C4 
Responsável
- Vinícius Souza <[email protected]>
