background image

 

Νικόλαος Λυμπιτάκης, Κατασκευή ενός RAG Chatbot για 
Ξενοδοχειακή Υποστήριξη 

 

 
 

 

43 

πληροφορία  (π.χ.  η  απάντηση  που  αντιστοιχεί  σε  μια  ερώτηση).

Με  τη  χρήση  της 

εντολής save_local, τα ευρετήρια αποθηκεύονται μόνιμα στον υπολογιστή. 

 

# Δηµιουργία και τοπική αποθήκευση του Vector Store 

vector_store = FAISS.from_texts(documents, embeddings, 
metadatas=metadatas) 

vector_store.save_local(FAQ_VECTOR_STORE_PATH) 

… 

vector_store.save_local(REVIEWS_VECTOR_STORE_PATH) 

… 

vector_store.save_local(POIS_VECTOR_STORE_PATH) 

 

 

Εικόνα 16 : Kώδικας από setup_vector_stores.py 

 

4.3  Σχεδιασμός και ανάπτυξη Βάσης Δεδομένων (SQLite) 

 

Για την αποθήκευση και αποτελεσματική διαχείριση των δομημένων δεδομένων του 

συστήματος,  επιλέχθηκε  το  Σύστημα  Διαχείρισης  Βάσεων  Δεδομένων  SQLite.  Η  βάση 

δεδομένων  (hotel.db)  αποτελεί  τη  κεντρική  βάση  αποθήκευσης,  εξυπηρετώντας  δύο 

διακριτούς αλλά συμπληρωματικούς επιχειρησιακούς σκοπούς: 

1.  Διαχείριση Επιχειρησιακών Δεδομένων: Αποθήκευση πληροφοριών σχετικά με 

τη διαθεσιμότητα των δωματίων και τις κρατήσεις των πελατών. 

2.  Καταγραφή  Ιστορικού  και  Αξιολόγηση: Τήρηση  αρχείου  των  συνομιλιών 

(logging)  και  των  αξιολογήσεων  των  χρηστών  (feedback)  για  την  ανάλυση  της 

απόδοσης του chatbot. 

 

Η  επιλογή  της  SQLite  έγινε  λόγω  της  απλότητας  της,  για  την  διασφάλιση  της 

ακεραιότητας  των  συναλλαγών,  την  συμβατότητα  με  τη  γλώσσα  Python  (μέσω  της 

βιβλιοθήκης sqlite3) και την ευκολία διαχείρισης που προσφέρει ένα serverless σύστημα. 

 

Ο  σχεδιασμός  της  βάσης  δεδομένων  ακολουθεί  το  Διάγραμμα  Οντοτήτων-

Συσχετίσεων  (ER  Diagram).

Το  σχήμα  αποτελείται  από  τέσσερις  4  κύριους  πίνακες,  οι 

οποίοι οργανώνονται σε δύο λογικές ενότητες: