Chatbot construido com o framework Rasa para responder dúvidas referentes ao COVID-19.

Overview

Racom Chatbot

Chatbot construido com o framework Rasa.

Python Rasa Scrapy Docker NodeJS TypeScript MySQL

Como executar

Necessário instalar Docker e Docker Compose.

Para inicializar a aplicação, basta executar o comando abaixo na raiz do projeto:

docker-compose up

Cainais

Portas utilizadas

  • localhost:3306: Racom Banco de dados (MySQL)
  • localhost:4040: Túnel de conexão (Ngrok)
  • localhost:4444: Racom API (Node.js)
  • localhost:4445: Webchat
  • localhost:5002: Rasa API
  • localhost:5005: Rasa Server
  • localhost:5055: Rasa Action Server

Observações

  • Ao executar a aplicação, o server do chatbot irá ser executado na porta :5005 e irá criar um túnel nessa porta para que o server possa ser acessado através da rede externa, em vez de somente local.

  • Quando Ngrok executa, ele gera uma URL aleatória. O arquivo /chatbot/main.py chamará o módulo /chatbot/support/set_telegram_config.py que irá extrair essa URL e atualizar o arquivo chatbot/credentials.yml em tempo de execução, definido a variável $TELEGRAM_URL com este valor. Com isso, o chatbot poderá ser utilizado no Telegram sem necessidade de outra configuração.

  • A penúltima etapa da execução é treinamento do modelo. O output do progresso de treinamento é incompatível com o terminal do Docker, por isso pode parecer que o build travou na mensagem Training NLU model... mas está sendo executado em segundo plano.

Estrutura

Aplicações

  • faq: Aplicação que utiliza o framework Scrapy para extrair os FAQs do site da Fiocruz e alimentar o banco de dados com as informações extraídas.

  • api: Aplicação em TypeScript e Node.js para integração do banco de dados com o chatbot

  • chatbot: Chatbot construído em Rasa para atendimento automatizado para auxílio de dúvidas sobre Coronavírus.

Diretórios

.
├── api - Diretório da API para comunicação com o banco de dados
├── chatbot - Diretório de instalação do Rasa
├── faq - Diretório para scrapping e alimentação do banco de dados com FAQs

Banco de dados

├── TFAQ - Armazena FAQs extraídos do site da Fiocruz
├── TCategory - Armazena categoria dos FAQs
├── TUnrecognizedMessage - Armazena mensagens não reconhecidas pelo chatbot

Diagramas

Documentação C4 Lucidchart

Contexto da aplicação

Responsável

Owner
Vinícius Souza
Student, 23 yo. Systems Analysis and Development (FATEC - Sorocaba).
Vinícius Souza
An advanced api client for python botters.

[ALPHA] pybotters An advanced api client for python botters. 📌 Description pybottersは仮想通貨botter向けのPythonライブラリです。複数取引所に対応した非同期APIクライアントであり、bot開発により素晴ら

261 Dec 31, 2022
A discord bot made by the community (uses python)

discord community bot context: this is a discord bot made by the community by community i mean people adding commands to the bot or changing the bot b

TR ASH 0 Oct 11, 2022
toldium is a modular, fast, reliable and customizable multiplatform bot library for your communities

toldium The easy multiplatform bot toldium is a modular, fast, reliable and customizable multiplatform bot library for your communities, from a commun

Stockdroid Fans 5 Nov 03, 2021
🚧 finCLI's own News API. No more limited API calls. Unlimited credible and latest information on BTC, Ethereum, Indian and Global Finance.

🚧 finCLI's own News API. No more limited API calls. Unlimited credible and latest information on BTC, Ethereum, Indian and Global Finance.

finCLI 5 Jun 16, 2022
`python-jamf` is a library for connecting to a Jamf Server that maps directly to the Jamf Pro Classic API.

`python-jamf` is a library for connecting to a Jamf Server that maps directly to the Jamf Pro Classic API. It is the basis for the `jctl` tool to automate patch management & packages and many other i

University of Utah, Marriott Library, Apple Support 38 Dec 13, 2022
A powerfull Zee5 Downloader Bot With Permeneant Thumbnail Support 💯 With Love From NexonHex

Zᴇᴇ5 DL A ᴘᴏᴡᴇʀғᴜʟʟ Zᴇᴇ5 Dᴏᴡɴʟᴏᴀᴅᴇʀ Bᴏᴛ Wɪᴛʜ Pᴇʀᴍᴇɴᴇᴀɴᴛ Tʜᴜᴍʙɴᴀɪʟ Sᴜᴘᴘᴏʀᴛ 💯 Wɪᴛʜ Lᴏᴠᴇ Fʀᴏᴍ NᴇxᴏɴHᴇx Wʜᴀᴛ Cᴀɴ I Dᴏ ? • ɪ ᴄᴀɴ Uᴘʟᴏᴀᴅ ᴀs ғɪʟᴇ/ᴠɪᴅᴇᴏ ғʀᴏᴍ

Psycharmers 4 Jan 19, 2022
Discord Rpc With Python And 2 Buttons

Discord-RPC-With-Python- Discord Rpc With Python And 2 Buttons Packages pypresence time Required Programs Python Latest Version Random IDE Discord :P

Kaz 4 Dec 12, 2021
discord token grabber using python

Discord Token Grabber A Discord token grabber written in Python 3. This version of the grabber only supports Windows. Features No local caching Transf

1 Oct 28, 2021
Simple web-based hcaptcha bypass

Hcaptcha-Bypass !!! If you found this useful, please click the STAR button !!! Simple web-based hcaptcha bypass Just a demonstration right now, and yo

Kieronia 4 Oct 06, 2021
Telegram Voice Chat Music Player UserBot Written with Pyrogram Smart Plugin and tgcalls

Telegram Voice Chat UserBot A Telegram UserBot to Play Audio in Voice Chats. This is also the source code of the userbot which is being used for playi

Dash Eclipse 7 May 21, 2022
A Telegram Bot to return Youtube Video Tags Using YoutubeTags API

YouTube-TagFind-Bot A Telegram Bot to return Youtube Video Tags Using YoutubeTags API YoutubeTags API Wrapper YoutubeTags is a python third-party api

Nuhman Pk 9 Aug 25, 2022
Wats2PDF - Convert whatsapp exported chat(without media) into a readable pdf format

Wats2PDF convert whatsApp exported chat into a readable pdf format. convert with

5 Apr 26, 2022
A discord bot that manages your server's hedge fund

Can't Hide Money Bot A discord bot that manages your server's hedge fund Installing Install wkhtmltopdf sudo apt-get install wkhtmltopdf OR brew insta

Kelvin Abrokwa-Johnson 0 Oct 16, 2021
Python powered spreadsheets

Marmir is powerful and fun Marmir takes Python data structures and turns them into spreadsheets. It is xlwt and google spreadsheets on steroids. It al

Brian Ray 170 Dec 14, 2022
A fork of discord.py meant to replace it

Texus A modern, easy to use, feature-rich, and async ready API wrapper for Discord written in Python. Key Features Modern Pythonic API using async and

Texus 1 Nov 18, 2021
Uma API pública contendo informações sobre o unvierso de Roberto Gomez Bolaños.

Chespirito API Objetivo Esta API tem como objetivo ser um ponto de referência para a procura sobre todo o universo do grande Roberto Gomez Bolaños, ta

Pery Lemke 6 Feb 02, 2022
SickNerd aims to slowly enumerate Google Dorks via the googlesearch API then requests found pages for metadata

CLI tool for making Google Dorking a passive recon experience. With the ability to fetch and filter dorks from GHDB.

Jake Wnuk 21 Jan 02, 2023
A simple, fast, and awesome discord nuke bot! The only thing you need to add is your bot token.

SimpleNukeBot A simple, fast, and awesome discord nuke bot! The only thing you need to add is your bot token. Instructions: All you need to do is crea

Bisc 1 Apr 18, 2022
Programmeertheorie 2022 - Team Trainspotters - RailNL

Trainspotters Vak: Programmeertheorie 2022 Gekozen case: RailNL Teamnaam: Trainspotters Studenten: Mijntje Meijer, Sam Bijhouwer, Maik Larooij To-do's

Maik Larooij 1 Jan 25, 2022
Discord.py Bot Series With Python

Discord.py Bot Series YouTube Playlist: https://www.youtube.com/playlist?list=PL9nZZVP3OGOAx2S75YdBkrIbVpiSL5oc5 Installation pip install -r requireme

Step 1 Dec 17, 2021