Skip to content
 
 

Latest commit

 

History

81 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Progetti Data Science A.A. 2024/2025

🤖 Progetto 4: ChatBot - CineGuru AI

Prerequisiti

  • Installare Conda (sia versione Miniconda che Anaconda vanno bene).

Step di preparazione

  1. Clone della repository
git clone https://github.com/AlessioGiacconi/DataScienceProjects
cd DataScienceProjects/ChatBot
  1. 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
  1. Installazione dipendenze
pip install -r requirements.txt

Train del modello

cd rasa
rasa train

Run del server

rasa run actions

Start del ChatBot

In un altro terminale:

rasa shell

Connessione del ChatBot a Telegram

  1. Creazione del Bot Telegram

    • Aprire Telegram e cercare il BotFather,
    • Scrivere \newbot e seguire le istruzioni per la creazione del bot.
    • BotFather fornirà un TOKEN, necessario per il collegamento a Rasa.
  2. Configurare Telegram in RASA

    Aprire il file credentials.yml del 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)

  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.
  4. Avviare Rasa

    Avviare il server Rasa con:

    rasa run --enable-api

    E abilitare le azioni perrsonalizzate da un altro terminale:

    rasa run actions
  5. 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):
      curl -X POST "https://api.telegram.org/bot<TOKEN>/setWebhook?url=https://<NGROK_URL>/webhooks/telegram/webhook"
      Sostituendo con i valori corretti.
    • Se tutto è andato correttamente, si otterrà una risposta simile a questa:
      {
          "ok": true,
          "result": true,
          "description": "Webhook was set"
      }
  6. Ora è possibile aprire Telegram, cercare il bot e iniziare a inviare messaggi, per verificare la correttezza delle risposte.

👥 Autori

Nome GitHub
👩 Agresta Arianna Click here
👨 Camplese Francesco Click here
👨 Giacconi Alessio Click here
👨 Iasenzaniro Andrea Click here

About

Questo repository contiene i progetti sviluppati per l'esame di Data Science del corso di laurea magistrale in Ingegneria Informatica, a.a. 2024/25. Tutti i progetti sono stati sviluppati da Arianna Agresta, Francesco Camplese, Alessio Giacconi e Andrea Iasenzaniro.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages