21 de junho de 2023 • 2 min de leitura
Como criar um chatbot com o Rasa
Rasa Open Source Versão 3.x
- Preparando o ambiente:
É necessário possuir o Python e o pip instalados:
sudo apt update
sudo apt install python3 python3-pip
# Verifique se foram instalados corretamente
python3 --version
pip3 --version
- Criando um ambiente virtual:
# Cria o ambiente virtual
python3 -m venv ./venv
# Ativa o ambiente virtual
source ./venv/bin/activate
- Instando o Rasa:
pip3 install rasa
# Verifique se foi instalado corretamente
rasa --version
- Criando um projeto:
rasa init
Quando você rodar o comando, ele fará as seguintes perguntas:
# O caminho onde o projeto será criado, por padrão é o diretório atual
Please enter a path where the project will be created [default: current directory]
# Você deseja treinar um modelo inicial? Y - Sim, N - Não
Do you want to train an initial model? 💪🏽 (Y/n)
# Você deseja conversar com o seu assistente? Y - Sim, N - Não
Do you want to speak to the trained assistant on the command line? 🤖 (Y/n)
O comando rasa init irá cria um projeto Rasa com arquivos de exemplo. O projeto criado possui a seguinte estrutura:
.
├── actions
│ ├── __init__.py
│ └── actions.py
├── config.yml
├── credentials.yml
├── data
│ ├── nlu.yml
│ └── stories.yml
├── domain.yml
├── endpoints.yml
├── models
│ └── <timestamp>.tar.gz
└── tests
└── test_stories.yml
- Treinando o model:
rasa train
O comando rasa train treina um modelo Rasa utilizando seu NLU de intenções e histórias, o modelo gerado fica salvo na pasta models.
- Testando o model:
rasa shell
O comando rasa shell carrega o modelo treinado e inicia um shell interativo para que você possa conversar com seu bot.
- Encerrando a conversa:
/stop
Digitando /stop dentro do shell interativo, você pode encerrar a conversa.
- Iniciando o servidor de custom actions:
rasa run actions
Utilizando Rasa SDK, o comando rasa run actions inicia o servidor de ações personalizadas. Este comando você deve deixar rodando em um segundo terminal. As ações customizadas ficam dentro da pasta actions. Além disso é necessário ir no arquivo endpoints.yml e adicionar o seguinte código:
action_endpoint:
url: "http://localhost:5055/webhook"
Para ver mais comandos, você pode acessar este link: Command Line Interface
Para acessar o playground: Rasa Playground
Caso você queira ver um exemplo com uma action customizada, você pode acessar este repositório que eu criei: Rasa 3.x NLU - Github API, você escreve github e depois passa o username que você deseja pesquisar, exemplo ValchanOficial, então ele retorná o username e a lista de repositórios.
Fontes: