Νικόλαος Λυμπιτάκης, Κατασκευή ενός RAG Chatbot για
Ξενοδοχειακή Υποστήριξη
39
3. Σημεία Ενδιαφέροντος (Points of Interest – POIs): περιέχει πληροφορίες για
αξιοθέατα και δραστηριότητες στην ευρύτερη περιοχή.
Η μορφή CSV επιλέχθηκε έναντι πιο σύνθετων δομών δεδομένων, όπως JSON ή
XML, λόγω της απλότητάς της και της άμεσης συμβατότητάς της με βιβλιοθήκες ανάλυσης
δεδομένων, όπως η Pandas.
4.2.1 Επεξεργασία των Datasets
Η διαδικασία επεξεργασίας των δεδομένων υλοποιήθηκε με τη χρήση της
βιβλιοθήκης Pandas της Python, η οποία χρησιμοποιήθηκε ως βασικό εργαλείο ανάγνωσης
και προεπεξεργασίας των αρχείων CSV.
Η Pandas επιλέχθηκε λόγω της υψηλής αποδοτικότητάς της στη διαχείριση
δεδομένων. Παράλληλα, επιτρέπει εύκολους, συχνούς μετασχηματισμούς, όπως
φιλτράρισμα δεδομένων, συνένωση πεδίων και εξαγωγή λιστών, με ελάχιστες γραμμές
κώδικα. Η επιλογή αυτή συνέβαλε στη μείωση της πολυπλοκότητας της προεπεξεργασίας
και στη διατήρηση καθαρού και επεκτάσιμου κώδικα. Τέλος, η επεξεργασία
πραγματοποιήθηκε ξεχωριστά για κάθε αρχείου, λαμβάνοντας υπόψη τη σημασιολογική
φύση και τον ρόλο των πληροφοριών σε κάθε σύνολο δεδομένων.
Επεξεργασία Συχνών Ερωτήσεων (FAQ Dataset)
Το αρχείο faq.csv φορτώθηκε, και ως κύριο κείμενο αναζήτησης ορίστηκε το
πεδίο question. Η διανυσματοποίηση της ερώτησης, αντί της απάντησης, επιλέχθηκε επειδή
η ανάκτηση σε συστήματα RAG βασίζεται στη σημασιολογική ομοιότητα. Ένα ερώτημα
χρήστη είναι σαφώς πιθανότερο να παρουσιάζει εννοιολογική εγγύτητα με μια ήδη
αποθηκευμένη ερώτηση παρά με το κείμενο της απάντησης. Η προσέγγιση αυτή βελτιώνει
την ακρίβεια της ανάκτησης και μειώνει τα άσχετα αποτελέσματα.
# Ανάγνωση του αρχείου FAQ
faq_df = pd.read_csv(FAQ_CSV_PATH)
# Χρήση της ερώτησης ως κύριο έγγραφο για embedding
documents = faq_df['question'].tolist()
# Αποθήκευση όλων των πεδίων ως µεταδεδοµένα
metadatas = faq_df.to_dict('records')
Εικόνα 10 : Kώδικας από setup_vector_stores.py