Skip to content

Latest commit

 

History

History
executable file
·
114 lines (88 loc) · 4.35 KB

README.md

File metadata and controls

executable file
·
114 lines (88 loc) · 4.35 KB

Polímata Chatbot

Pacote inicial de código aberto para desenvolvimento de chatbots contextuais voltados à ambientes escolares.

Tecnologias do Projeto:

  • Rasa - Inteligência Artificial do Bot
  • Docker - Tecnologia de conteinerização
  • Docker Compose - Orquestrador de containers Docker
  • Telegram - Aplicativo de mensagens instantâneas

Instalação e configuração:

Para testar o chatbot localmente use os seguintes comandos:

1º Passo: Para instalar clone o repositório:

git clone https://github.com/luan-github/polimata-chatbot.git

2º Passo: Treine um modelo de conversação:

Acesse o diretório rasa_server:

cd polimataBot/rasa_server

Execute:

rasa train

Ou, caso você não tenha o rasa 3.x intalado, use:

docker run --user 1000 -v $(pwd):/app rasa/rasa:3.4.1-full train --domain domain.yml --data data --out models

3º Passo: Inicie os conteiners usando o docker compose :

Volte ao diretório raiz do projeto:

cd ..

Para iniciar os containers:

docker compose up

4º Passo: Para interagir com o chatbot via terminal:

docker exec -it polimataBot rasa shell -p <porta-disponível>

Ou

docker compose exec -it rasa-server rasa shell -p <porta-disponível>

5º Passo: Para ensinar novos dialogos de forma automatizada:

docker exec -u root -it polimataBot rasa interactive -p <porta-disponível>

6º Passo: Para parar os containers:

docker compose down

Configurar acesso via Telegram:

1º Passo: crie um chatbot no Telegram, interagindo com o BotFather, para obter um Token de acesso e novo nome de chatbot.

2º Passo: edite o arquivo credentials.yml, na pasta rasa_server, removendo os símbolos '#' que comentam as linhas referentes a configuração do Telegram e preencha os valores dos parametros com os dados do bot criado, exemplo:

telegram:
  access_token: "<XXXXXX_Token de acesso_XXXXX>"
  verify: "<nome do chatbot sem o símbolo @>"
  webhook_url: "<https:url_para_a_qual_o_Telegram_deve_enviar_as_mensagens>/webhooks/telegram/webhook"

Você pode usar a aplicação ngrok para gerar a url necessária acima, com o comando:

./ngrok http 5005

Para informações mais detalhadas de configuração do Telegram e outros canais acesse a documentação do framework Rasa aqui.

3º Passo: Para executar os containers:

docker compose up

Caso queira alterar os nomes dos containers no arquivo docker-compose.yml lembre-se de fazer as correspondentes alterações no arquivo endpoints.yml e demais comandos exemplificados nesta página.

Uma vez que já tenha gerado um modelo de conversação não será mais necessario acesar a pasta rasa_server via terminal para treinar o chatbot novamente. Você poderá usar:

docker exec -u root -it polimataBot rasa train --domain domain.yml --data data --out models

Como Contribuir ou obter ajuda:

Toda contribuição é bem vinda, para participar você deve:

  • Criar uma issue descrevendo uma funcionalidade que você gostaria de desenvolver ou contribuir com as já criadas.
  • Escrever seu código, testes e documentação.
  • Abrir um pull request descrevendo as suas alterações propostas.
  • Aguardar que seu pull request seja revisado e que eventualmente você seja solicitado a realizar algumas alterações.
  • Caso tenha dificuldades buscando informações relacionados ao projeto você também pode criar uma issue com a tag duvida.

Sugestões de fontes para estudo:

Licença:

Este software foi desenvolvido sob a licença GPL3.