Rasa Boilerplate
Um projeto feito em Rasa com configurações necessárias para a construção de um projeto grande de chatbot.
Este projeto teve como base a Tais.
Bot
Variáveis de Ambiente
-
É necessário atualizar as variáveis de ambiente para executar o
chatbot
. Atualize seus valores nos arquivosbot.env
eactions.env
de acordo com as configurações do seu contexto, os arquivos estão na pastadocker
. -
Os seguintes valores são importantes para a utilização do
chatbot
:docker/bot.env
# Analytics config
ENABLE_ANALYTICS=True
ELASTICSEARCH_URL=IP <- COLOQUE AQUI O IP DESEJADO
# HTTP login on elasticsearch
ELASTICSEARCH_USER=<usuario-elasticsearch> <- COLOQUE AQUI O USUÁRIO DE ACESSO AO ELASTICSEARCH
ELASTICSEARCH_PASSWORD=<senha-elasticsearch> <- COLOQUE AQUI A SENHA DE ACESSO AO ELASTICSEARCH
ELASTICSEARCH_HTTP_SCHEME=http
ELASTICSEARCH_PORT=9292
docker/actions.env
DEFENSORIA_TOKEN=<TOKEN> <- COLOQUE AQUI SEU TOKEN
Webchat
Para subir o ambiente com o webchat, rode o seguinte comando:
sudo docker-compose up bot
e abra o arquivo index.html
em seu navegador.
O comando irá treinar o bot e deixa-lo na porta 3000
do seu computador. O index.html
possui um
script que conecta com a porta 3000
com o webchat.
RocketChat
sudo docker-compose up -d rocketchat
# aguarde 3 minutos para o rocketchat terminar de levantar
sudo docker-compose up bot
Para que a assistente virtual inicie a conversa você deve criar um trigger
.
Para isso, entre no rocketchat como admin
, e vá no painel do Livechat na
seção de Triggers, clique em New Trigger
. Preencha o Trigger da seguinte forma:
Enabled: Yes
Name: Start Talk
Description: Start Talk
Condition: Visitor time on site
Value: 3
Action: Send Message
Value: Impersonate next agent from queue
Value: Olá!
O valor http://localhost:8080/
deve ser a URL de acesso do Bot.
Instalação
Para executar o bot em um site você precisa inserir o seguinte Javascript na sua página
<!-- Start of Rocket.Chat Livechat Script -->
<script type="text/javascript">
(function(w, d, s, u) {
// !!! Mudar para o seu host AQUI !!!
host = 'http://localhost:3000';
// !!! ^^^^^^^^^^^^^^^^^^^^^^^^^^ !!!
w.RocketChat = function(c) { w.RocketChat._.push(c) }; w.RocketChat._ = []; w.RocketChat.url = u;
var h = d.getElementsByTagName(s)[0], j = d.createElement(s);
j.async = true; j.src = host + '/packages/rocketchat_livechat/assets/rocketchat-livechat.min.js?_=201702160944';
h.parentNode.insertBefore(j, h);
})(window, document, 'script', host + '/livechat');
</script>
<!-- End of Rocket.Chat Livechat Script -->
Atenção: Você precisa alterar a variavel host
dentro do código acima para a url do site onde estará
o seu Rocket.Chat.
Console
sudo docker-compose run --rm bot make train
sudo docker-compose run --rm bot make run-console
Train Online
sudo docker-compose run --rm bot make train
sudo docker-compose run --rm bot make train-online
Analytics
Setup
sudo docker-compose run --rm -v $PWD/analytics:/analytics bot python /analytics/setup_elastic.py
sudo docker-compose up -d elasticsearch
Lembre-se de setar as seguintes variaveis de ambiente no docker-compose
.
ENVIRONMENT_NAME=localhost
BOT_VERSION=last-commit-hash
Vizualização
sudo docker-compose up -d kibana
Você pode acessar o kibana no locahost:5601
Notebooks - Análise de dados
Setup
Levante o container notebooks
docker-compose up -d notebooks
Acesse o notebook em localhost:8888
Tutorial para levantar toda a stack
sudo docker-compose up -d rocketchat
sudo docker-compose up -d kibana
sudo docker-compose run --rm -v $PWD/analytics:/analytics bot python /analytics/setup_elastic.py
sudo docker-compose up -d bot