Git Product home page Git Product logo

lappisudo's Introduction

Bot do LAPPIS

Este projeto teve como base a Tais. Com o objetivo de ser divertido e apresentar o laboratório.

Bot

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:

docker-compose up -d rocketchat

make first-run
# ou 
sudo make first-run

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".

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.

  • Muda a cor do livechat nas configurações da Rocket.Chat

#0068b4

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">
// !!! Mudar para o seu host AQUI !!!
host = 'http://localhost:3000';
// !!! ^^^^^^^^^^^^^^^^^^^^^^^^^^ !!!
(function(w, d, s, u) {
    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.

Telegram

Para realizar este processo, recomenda-se a criação de um Bot para o Telegram para obter todas as informações necessárias.

Para rodar a stack do bot pelo Telegram juntamente com os serviços anexados, é necessário comentar a parte relacionada ao Rocket.Chat e descomentar o serviço relacionado ao bot do telegram.

Após, é necessário utilizar o ngrok para expor determinada porta para ser utilizado pelo Telegram.

Ao baixar, é só executar utilizando o seguinte comando:

./ngrok http {porta utilizada}

Atenção: O conector do Telegram está utilizando a porta 5001 como padrão. Caso queira mudar, somente altere a porta utilizada pelo no Makefile.

Ao executar, será gerado um link onde será usado para recuperar todas as informações obtidas pelo webhook do Bot pelo Telegram, semelhante a este link:

Exemplo:
https://283e291f.ngrok.io

Configure todas as informações necessárias no docker-compose para integrar o bot do telegram criado:

- TELEGRAM_ACCESS_TOKEN={token fornecido pelo BotFather}
- VERIFY={username do bot}
- WEBHOOK_URL={link do ngrok}/webhooks/telegram/webhook

Para executar somente o serviço do bot para o Telegram, utilize o seguinte comando:

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

Visualizaçã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

Tecnologias do Projeto:

  • Rasa - Inteligência Artificial do Bot
  • RocketChat - Mensageiro de comunicação do Bot
  • Docker - Os ambientes são todos dockerizados

Licença

Todo o framework do Rasa BoilerPlate é desenvolvido sob a licença GPL3

lappisudo's People

Contributors

andreabenf avatar arthurtemporim avatar dependabot[bot] avatar gabibguedes avatar guiaugusto avatar kahcosta avatar pablodiegoss avatar palomacmamede avatar pedroeagle avatar rochacarla avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

lappisudo's Issues

Gerenciamento de café

Adicionar ao lappisudo a funcionalidade de gerenciamento de produtos ESSENCIAIS para o LAPPIS:

  • Café

O gerenciamento de demais produtos também pode ser feito.

O bot deve ser capaz de:

  • Coletar informações sobre produtos por meio de planilhas ou cálculo de gasto médio ou alguma outra forma.
  • Avisar no grupo do LAPPIS da necessidade de compra dos produtos levantados.

Explicar o que o bot faz

O bot não entende perguntas como:

o que você faz? ou me ajuda?

Para pessoas que estão conversando pela primeira vez com o bot esse direcionamento é importante.

Verificar pessoas que tem o mesmo nome

Quando alguém perguntar para o bot sobre uma pessoa, usando apenas o primeiro nome dela (ex: Mateus, Arthur, Bruna), o bot deve confirmar o sobrenome para identificar precisamente a pessoa.

Organizador de caronas

Ajudar as pessoas a encontrar uma carona para vir para o Lappis e para voltar para casa.

Talvez quem quer carona poderia indicar pro bot um horário, uma origem e um destino. As pessoas que tem a disponibilidade poderiam confirmar a carona.

Guia de conversação Lappisudo + Hackathon

Assim como foi criado para a Tais, agora é a vez do Lappisudo! Então, deve-se criar um guia de conversação para o Lappisudo e fazer uma espécie de Hackathon na Segunda 27/05 para que todos que possam participar do Lappis consigam implementar utters para o Lappisudo.

Terefas

  • Definir a personalidade do Lappisudo
  • Descrever como ele demonstra a sua essência através da sua linguagem
  • Atribuir gírias e expressões que demonstrem a sua personalidade
  • Criar roteiro de como criar uma utter para o Lappisudo
  • Definir assuntos que ele pode e deve falar

Critérios de aceitação

  • A personalidade do Lappisudo é coerente
  • Qualquer um que usar o Guia consegue escrever uma utters para o chatbot

Refatorar random

as intents/utters do random foram reaproveitado do lino/hubot natural. Logo, tem varias mençoes ao lino que devem ser retiradas

inserir dialogo com as frases do Lappis

inserir utters das frases e mandamentos do lappis..

colocar essas utters ou a partir de intent especifica, ou ela aparece de forma randômica antes de manter conversa

Gerenciamento de agenda

Adicionar a funcionalidade de aivsos sobre presenaças no laboratório, ex:

  • bot, quem está trabalhando hj de manhã?

  • fulano, ciclano e jorge estão trabalhando durante a manhã toda.

  • bot, o fulano vai trabalhar amanhã as 14?

  • sim, ele vai estar aqui a tarde toda.

Expressão

Criar imagem para o bot, essa imagem de perfil muda de acordo com a resposta do bot, ou seja ele muda de expressão de acordo com as mensagens que manda.

Ex membros do Lappis

falar sobre os ex-membros do lappis (quantas gerações de projetos), p que estao fazendo, como encontrá-los

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.