Νικόλαος Λυμπιτάκης, Κατασκευή ενός RAG Chatbot για
Ξενοδοχειακή Υποστήριξη
38
2. Σχεσιακή Βάση Δεδομένων (SQLite)
Για τα δομημένα δεδομένα χρησιμοποιείται η βάση SQLite, η οποία είναι
κατάλληλη για ερωτήματα που απαιτούν ακρίβεια και ακεραιότητα. Η βάση περιλαμβάνει:
• Τους πίνακα hotel_rooms, bookings για τον έλεγχο διαθεσιμότητας, τιμών καθώς
και τον τύπο δωματίων.
•
Τους πίνακες conversation_session και conversation_turns, για την καταγραφή των
συνομιλιών και του feedback των χρηστών.
Ο διαχωρισμός δομημένων και αδόμητων δεδομένων είναι κρίσιμος, καθώς
αποφεύγει τη λανθασμένη χρήση σημασιολογικής αναζήτησης σε δεδομένα που απαιτούν
ακριβείς υπολογισμούς ή φίλτρα.
Η συγκεκριμένη αρχιτεκτονική εξασφαλίζει ότι το chatbot σχεδόν εξαλείφει τις
παραισθήσεις (hallucinations) των LLM, καθώς κάθε απάντηση στηρίζεται σε ανακτημένα,
πραγματικά δεδομένα από τα παραπάνω υποσυστήματα.
4.2 Προετοιμασία και Επεξεργασία Δεδομένων
Η ποιότητα και η δομή των δεδομένων αποτελούν κρίσιμους παράγοντες για την
απόδοση ενός συστήματος RAG. Πριν από την εισαγωγή τους στη διανυσματική βάση, τα
δεδομένα απαιτείται να συλλεχθούν, να καθαριστούν και να μορφοποιηθούν κατάλληλα,
ώστε να είναι ανακτήσιμα με ακρίβεια από τον αλγόριθμο αναζήτησης σημασιολογικής
ομοιότητας. Στην συγκεριμένη περίπτωση τα δεδομένα ήταν ήδη στη σωστή μορφή καθώς
δημιουργήθηκαν μέσω prompt στο LLM, οπότε δεν χρειάστηκε καθαρισμός και
μορφοποίηση.
Για τις ανάγκες του παρόντος chatbot χρησιμοποιήθηκαν τρία κύρια σύνολα
δεδομένων (datasets), αποθηκευμένα σε μορφή CSV (Comma-Separated Values):
1. Συχνές Ερωτήσεις (FAQ): περιέχει ζεύγη ερωτήσεων–απαντήσεων σχετικών με
τις υπηρεσίες του ξενοδοχείου.
2. Κριτικές Πελατών (Reviews): περιλαμβάνει κείμενα σχολίων επισκεπτών και τις
αντίστοιχες βαθμολογίες.