Skip to content

Commit 458d505

Browse files
authored
Merge pull request #28 from lappis-unb/devel
Devel
2 parents 2eba188 + 3aa0ea5 commit 458d505

35 files changed

+1536
-1945
lines changed

.gitignore

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,18 @@ bot/.keras/
1515
bot/.local/
1616
bot/work
1717

18-
### Intents Notebook ###
18+
### Jupyter Notebooks ###
1919
notebooks/intents/evaluate-intents.ipynb
20-
notebooks/intents/models
2120
notebooks/intents/errors.json
22-
notebooks/stories/matrix.pdf
21+
notebooks/intents/reports/
22+
notebooks/intents/hist.png
23+
notebooks/intents/confmat.png
2324

24-
### Stories Notebook ###
2525
notebooks/stories/models
2626
notebooks/stories/errors.json
2727
notebooks/stories/img
28+
notebooks/stories/results/
29+
notebooks/stories/matrix.pdf
2830

2931
### Rocketchat ###
3032
/data
@@ -146,7 +148,7 @@ docs/_build/
146148
target/
147149

148150
# Jupyter Notebook
149-
.ipynb_checkpoints
151+
*.ipynb_checkpoints*
150152

151153
# pyenv
152154
.python-version
@@ -192,3 +194,7 @@ tags
192194

193195

194196
# End of https://www.gitignore.io/api/vim,linux,macos,python
197+
198+
models/dialogue/
199+
200+
models/nlu/current/

Makefile

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
first-run:
2+
cd docker && ./build-base.sh
3+
make train
4+
docker-compose run --rm bot make config-rocket
5+
docker-compose up bot
6+
7+
train:
8+
docker build . -f docker/coach.Dockerfile -t botcoach:latest
9+
docker-compose build bot
10+
11+
console:
12+
docker-compose run bot make run-console

README.md

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,10 @@
22
<a href="https://codeclimate.com/github/lappis-unb/rasa-ptbr-boilerplate/maintainability"><img src="https://api.codeclimate.com/v1/badges/3fe22bf52000e147c6df/maintainability" /></a>
33

44
# Rasa Boilerplate
5+
<!-- badges -->
6+
<a href="https://www.gnu.org/licenses/gpl-3.0.pt-br.html"><img src="https://img.shields.io/badge/licence-GPL3-green.svg"/></a>
57

6-
Um projeto feito em Rasa com configurações necessárias para a construção
7-
de um projeto grande de chatbot.
8+
Um projeto feito em Rasa com configurações necessárias para a construção de um projeto grande de chatbot.
89

910
Este projeto teve como base a [Tais](http://github.com/lappis-unb/tais).
1011

@@ -19,9 +20,18 @@ As *models* utilizadas para a conversação foram geradas pelo módulo *trainer*
1920
Os notebooks avaliam o funcionamento de acordo com o formato das *intents* e *stories*.
2021
O elasticsearch coleta os dados da conversa e armazena para a análise feita pelo kibana, que gera gráficos para avaliação das conversas dos usuários e do boilerplate.
2122

22-
2323
## Bot
2424

25+
**Atenção**: Para funcionamento inicial das imagens docker citadas aqui, como "bot", "coach" e "requirements", é importante que em sua primeira execução deste repositório, seja executado:
26+
```sh
27+
docker-compose up -d rocketchat
28+
29+
make first-run
30+
# ou
31+
sudo make first-run
32+
```
33+
Este script foi configurado para construir as imagens genéricas necessárias para execução deste ambiente. Caso seu projeto utilize este boilerplate e vá realizar uma integração contínua ou similar, é interessante criar um repositório para as imagens e substitua os nomes das imagens "bot", "coach" e "requirements" pelas suas respectivas novas imagens, por exemplo "<organização>/bot" em repositório público, não sendo mais necessário então a execução do script "first-run".
34+
2535
### RocketChat
2636

2737
```sh
@@ -106,8 +116,10 @@ Para executar somente o serviço do bot para o Telegram, utilize o seguinte coma
106116
Se ainda não tiver treinado seu bot execute antes:
107117

108118
```sh
109-
sudo docker-compose run --rm bot make train
119+
make train
110120
```
121+
**Atenção**: o comando "make train" executa um container docker, caso precise de sudo em seu computador para execução docker, utilize "sudo make train".
122+
111123

112124
Depois execute o bot no telegram:
113125

@@ -118,15 +130,15 @@ sudo docker-compose up telegram_bot
118130
### Console
119131

120132
```sh
121-
sudo docker-compose run --rm bot make train
133+
make train
122134
sudo docker-compose run --rm bot make run-console
123135
```
124136

125137
### Train Online
126138

127139
```
128-
sudo docker-compose run --rm bot make train
129-
sudo docker-compose run --rm bot make train-online
140+
make train
141+
sudo docker-compose run --rm coach make train-online
130142
```
131143
132144
## Analytics
@@ -181,6 +193,7 @@ sudo docker-compose run --rm -v $PWD/analytics:/analytics bot python /analytics/
181193
sudo docker-compose up -d bot
182194
```
183195

196+
184197
# Como conseguir ajuda
185198

186199
Parte da documentação técnica do framework da Tais está disponível na [wiki do repositório](https://github.com/lappis-unb/tais/wiki). Caso não encontre sua resposta, abra uma issue com a tag `duvida` que tentaremos responder o mais rápido possível.

bot/Makefile

Lines changed: 9 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,24 @@
1-
train-nlu:
2-
python3 -m rasa_nlu.train -c nlu_config.yml --fixed_model_name current \
3-
--data data/intents/ -o models --project nlu --verbose
4-
5-
train-core:
6-
python3 train.py
7-
8-
train: train-nlu train-core
9-
101
run-rocketchat:
112
python3 run-rocketchat.py
123

134
run-telegram:
14-
python -m rasa_core.run -d models/dialogue -u models/nlu/current --port 5001 --credentials credentials.yml --endpoints endpoints.yml
5+
python -m rasa_core.run -d /models/dialogue -u /models/nlu/current --port 5001 --credentials credentials.yml --endpoints endpoints.yml
6+
7+
config-rocket:
8+
python /scripts/bot_config.py
159

1610
run-console:
17-
python3 -m rasa_core.run -d models/dialogue -u models/nlu/current \
11+
python3 -m rasa_core.run -d /models/dialogue -u /models/nlu/current \
1812
--debug --endpoints endpoints.yml
1913

2014
run-api:
21-
python3 -m rasa_core.run -d models/dialogue -u models/nlu/current \
15+
python3 -m rasa_core.run -d /models/dialogue -u /models/nlu/current \
2216
--endpoints endpoints.yml --debug --enable_api
2317

24-
train-online:
25-
python -m rasa_core.train \
26-
interactive -o models/dialogue \
27-
-d domain.yml -c policy_config.yml \
28-
-s data/stories \
29-
--nlu models/nlu/current/ \
30-
--endpoints endpoints.yml
31-
32-
3318
evaluate:
34-
python3 -m rasa_core.evaluate -d models/dialogue -s data/core/
19+
python3 -m rasa_core.evaluate -d /models/dialogue -s data/core/
3520

3621
run-actions:
3722
python -m rasa_core_sdk.endpoint --actions actions
23+
24+

bot/connector.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,14 @@ def __init__(self, user, password, server, ssl=False):
2626
self.password = password
2727

2828
self.logged_in = False
29-
30-
self.connector.connect()
31-
self.login()
29+
try:
30+
self.connector.connect()
31+
self.login()
32+
except:
33+
raise Exception (
34+
'\n\n\n\n\nRocket-chat is not running! \n'
35+
'Be sure to run docker-compose up rocketchat\n'
36+
'or change your run-rocketchat for run-console on docker-compose.yml')
3237

3338
def login(self):
3439
while not self.logged_in:

bot/nlu_config.yml

Lines changed: 0 additions & 7 deletions
This file was deleted.

bot/run-rocketchat.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,4 +56,4 @@ def run(core_dir, nlu_dir):
5656
logger.exception(exc)
5757

5858
if __name__ == '__main__':
59-
run('models/dialogue', 'models/nlu/current')
59+
run('/models/dialogue', '/models/nlu/current')

coach/Makefile

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
train-nlu:
2+
python3 -m rasa_nlu.train -c nlu_config.yml --fixed_model_name current \
3+
--data data/intents/ -o /src_models --project nlu --verbose
4+
5+
train-core:
6+
python3 train.py
7+
8+
train: train-nlu train-core
9+
10+
train-online:
11+
python -m rasa_core.train \
12+
interactive -o models/dialogue \
13+
-d domain.yml -c policy_config.yml \
14+
-s data/stories \
15+
--nlu models/nlu/current/ \
16+
--endpoints endpoints.yml
17+
18+
run-validator:
19+
python3 validator.py --intents data/intents/ --stories data/stories --domain domain.yml
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)