Chat Guide Bot – Roboholics 1o ΓΕΛ Καβάλας

Chat Guide Bot – Roboholics 1o ΓΕΛ Καβάλας

Η ιδέα

Δημιουργία ενός ρομπότ το οποίο θα έχει αλληλεπίδραση με τους ανθρώπους. Κάνοντας χρήση της Τεχνητής Νοημοσύνης θα παρέχει πληροφορίες για διάφορα θέματα αλλά και θα παίζει τον ρόλο του «κοινωνικού» ρομπότ που θα μπορεί να διασκεδάζει με αστεία, ανέκδοτα και γρίφους τους περαστικούς ή τους μαθητές στην αυλή του σχολείου.

Μερικές από τις λειτουργίες του ChatBot μας θα μπορούσε να είναι οι εξής:

  • Να ενημερώνει τους ανθρώπους για την ιστορία, τα αξιοθέατα και τα πολιτιστικά στοιχεία ενός δημόσιου χώρου, χρησιμοποιώντας διαδραστικό τρόπο.
  • Να προσφέρει συμβουλές για τοποθεσίες ή δρομολόγια, βοηθώντας τουρίστες και ντόπιους να προσανατολιστούν.
  • Να παρέχει στιγμές χαλάρωσης, λειτουργώντας ως “ψυχολόγος του δρόμου”, προσφέροντας ενθάρρυνση ή μικρές συμβουλές ζωής.
  • Να λέει αστείες ιστορίες ανέκδοτα και γρίφους.
  • Να παίζει παιχνίδια γνώσεων με τους περαστικούς ή με τους μαθητές του σχολείου.

Υλικά

Για την δημιουργία του project μας χρησιμοποιήθηκαν τα παρακάτω υλικά:

  1. Raspberry pi 5.
  2. Οθόνη touchscreen 7 ιντσών.
  3. Μικρόφωνο usb.
  4. Bluetooth ηχείο.
  5. Μνήμη microSD  & USB adaptor

Υλοποίηση

Για την υλοποίηση της ιδέας μας, αρχικά έπρεπε να γίνει εγκατάσταση του Raspberry Pi OS στο Raspberry Pi 5. Μεταφερθήκαμε στην ιστοσελίδα https://www.raspberrypi.com/software/ και κατεβάσαμε το Raspberry Pi Imager, ένα πρόγραμμα το οποίο μας βοηθά να κατεβάσουμε και να εγκαταστήσουμε το λειτουργικό σύστημα στην κάρτα microSD.

Αφού ολοκληρώθηκε η εγκατάσταση του λειτουργικού συστήματος:

  1. Τοποθετήσαμε την κάρτα μνήμης στο Raspberry Pi.
  2. Συνδέσαμε την οθόνη, το μικρόφωνο και τα ηχεία.
  3. Το σύστημά μας λειτούργησε άμεσα.

Εγκατάσταση Απαραίτητων Πακέτων

Το επόμενο βήμα ήταν η εγκατάσταση των απαραίτητων πακέτων, ώστε:

  • Να μπορεί το Raspberry να «ακούει» μέσω του μικροφώνου.
  • Να μετατρέπει τη φωνή σε κείμενο.
  • Να στέλνει το κείμενο στο ChatGPT μέσω του OpenAI API.
  • Να λαμβάνει την απάντηση και να τη μετατρέπει ξανά σε φωνή που ακούγεται από τα ηχεία.

Τα πακέτα τα οποία χρειαστήκαμε ηταν:

  • Python 3
  • openai (για πρόσβαση στο ChatGPT)
  • SpeechRecognition (για φωνητική εντολή)
  • PyAudio (για είσοδο μικροφώνου)
  • gTTS (Google Text-to-Speech) ή pyttsx3 (offline TTS) (κάναμε δοκιμή και τα 2)
  • playsound (για αναπαραγωγή ήχου)

Για να γίνει εγκατάσταση των παραπάνω πακέτων εκτελέστηκαν οι εξής εντολές στο bash (γραμμή εντολών) του Raspberry pi OS:

sudo apt update
sudo apt upgrade
sudo apt install python3-pip espeak ffmpeg
pip3 install openai SpeechRecognition pyaudio gtts playsound

Σημείωση: Αν κάποια από τις παραπάνω εντολές εμφανίσει μήνυμα λάθους, μπορείτε να δημιουργήσετε ένα εικονικό περιβάλλον Python :

python3 -m venv venv
source venv/bin/activate

και να επαναλάβετε τις εντολές.

Στη συνέχεια, και αφού ολοκληρωθεί η εγκατάσταση όλων των απαραίτητων πακέτων, μπορείτε να αντιγράψετε τον κώδικα Python σε ένα αρχείο και να τον αποθηκεύσετε με το όνομα chatbot.py.

Η εκτέλεση του προγράμματος γίνεται με την εντολή:

python3 chatbox.py

GitHub

https://github.com/1lykeio-kavalas/Robotics7/tree/main

Testing

Προβλήματα

Για να μπορέσουμε να λάβουμε απαντήσεις από το OpenAI API του ChatGPT, ήταν απαραίτητο να δημιουργήσουμε λογαριασμό στην πλατφόρμα της OpenAI, να αποκτήσουμε ένα API Key, καθώς και να προσθέσουμε πιστωτικό υπόλοιπο στον λογαριασμό μας. Καταθέσαμε το ποσό των 5 ευρώ, το οποίο αποδείχθηκε επαρκές για όλες τις δοκιμές μας. Μάλιστα, μετά την ολοκλήρωση των τεστ, το υπόλοιπο του λογαριασμού μας ξεπερνά ακόμη τα 3 ευρώ.

Επιπλέον, δοκιμάσαμε δύο διαφορετικές μεθόδους εκφώνησης, ωστόσο το αποτέλεσμα δεν ανταποκρίνεται πλήρως στις αρχικές μας προσδοκίες. Ο ήχος ακούγεται διακεκομμένα και, σε ορισμένες περιπτώσεις, όχι ιδιαίτερα καθαρά, γεγονός που επηρεάζει αρνητικά τη συνολική εμπειρία.

Βελτιώσεις

Μία από τις βελτιώσεις που θα αναλάβει η ομάδα των Roboholics είναι η φωνητική εκφώνηση, με στόχο ένα πιο καθαρό και φυσικό αποτέλεσμα, αποφεύγοντας τον «ρομποτικό» ήχο. Επιπλέον, κάτι που θέλουμε να εξερευνήσουμε στο μέλλον είναι η πλήρης υλοποίηση του πρότζεκτ στα Ελληνικά, ώστε τόσο η εκφώνηση των ερωτήσεων όσο και οι απαντήσεις να πραγματοποιούνται στη μητρική μας γλώσσα.

Επίλογος

Διαβάσαμε, ερευνήσαμε, μάθαμε, υλοποιήσαμε — και τελικά, καταφέραμε να δημιουργήσουμε ένα ChatBot κυριολεκτικά από το μηδέν. Ήταν ένα συναρπαστικό ταξίδι στην έρευνα και τη γνώση για όλη την ομάδα μας. Ανυπομονούμε για την επόμενη πρόκληση!