- Installare Conda (sia versione Miniconda che Anaconda vanno bene).
- Clone della repository
git clone https://github.com/AlessioGiacconi/DataScienceProjects
cd DataScienceProjects/ChatBot- Creazione e attivazione ambiente Conda
conda create --name chatbot_env python=3.9 # Basta eseguirlo una volta sola, dopodiché solo activate
conda activate chatbot_env- Installazione dipendenze
pip install -r requirements.txtcd rasa
rasa trainrasa run actionsIn un altro terminale:
rasa shell-
Creazione del Bot Telegram
- Aprire Telegram e cercare il BotFather,
- Scrivere
\newbote seguire le istruzioni per la creazione del bot. - BotFather fornirà un TOKEN, necessario per il collegamento a Rasa.
-
Configurare Telegram in RASA
Aprire il file
credentials.ymldel progetto Rasa e modificare la configurazione per Telegram.telegram: access_token: "TOKEN" verify: "USERNAME_BOT" # username del bot senza @ webhook_url: "https://<NGROK_URL>/webhooks/telegram/webhook"
Sostituire i valori placeholder, rispettivamente, con l'access token di BotFather, l'username inserito durante la creazione del Bot e l'URL fornita da ngrok (vedere Passaggio 3)
-
Avviare Ngrok
- (Se non si ha già) Installare, configurare ed estrarre ngrok all'interno della sua cartella di lavoro.
- Avviare ngrok con la porta di default Rasa:
ngrok http 5005
- L'output fornirà un URL HTTPS, da inserire nel file
credentials.yml, come mostrato prima.
-
Avviare Rasa
Avviare il server Rasa con:
rasa run --enable-api
E abilitare le azioni perrsonalizzate da un altro terminale:
rasa run actions
-
Impostare il Webhooh di Telegram
- Comunicare a Telegram il nuovo URL del webhook da linea di comando (o sulla barra di ricerca passando solo l'URL intera):
Sostituendo con i valori corretti.
curl -X POST "https://api.telegram.org/bot<TOKEN>/setWebhook?url=https://<NGROK_URL>/webhooks/telegram/webhook" - Se tutto è andato correttamente, si otterrà una risposta simile a questa:
{ "ok": true, "result": true, "description": "Webhook was set" }
- Comunicare a Telegram il nuovo URL del webhook da linea di comando (o sulla barra di ricerca passando solo l'URL intera):
-
Ora è possibile aprire Telegram, cercare il bot e iniziare a inviare messaggi, per verificare la correttezza delle risposte.
| Nome | GitHub |
|---|---|
👩 Agresta Arianna |
Click here |
👨 Camplese Francesco |
Click here |
👨 Giacconi Alessio |
Click here |
👨 Iasenzaniro Andrea |
Click here |