background image

 

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

 

 
 

 

22 

Ένα  από  τα  βασικά  πλεονεκτήματα  του  Streamlit  είναι  η  ελάχιστη  ανάγκη  για 

boilerplate κώδικα. Οι προγραμματιστές δεν χρειάζεται να ορίζουν backend, routes ή να 

διαχειρίζονται HTTP αιτήματα, αρκεί να γράψουν ένα Python script για να δημιουργηθεί 

αυτόματα  μια  ζωντανή  web  εφαρμογή.  Αυτό  επιτρέπει  ταχεία  πρωτοτυποποίηση, 

μετατρέποντας ιδέες σε λειτουργικές εφαρμογές μέσα σε λίγες ώρες ή ακόμα και λεπτά. 

Επιπλέον,  το  Streamlit  ενσωματώνεται  άψογα  με  δημοφιλείς  Python  βιβλιοθήκες 

δεδομένων όπως pandas, Matplotlib και Plotly, υποστηρίζοντας δυναμικές οπτικοποιήσεις 

και  dashboards  που  μπορούν  να  αλληλεπιδρούν  μέσω  widgets  όπως  sliders,  buttons  και 

checkboxes. 

Το Streamlit διαθέτει επίσης τη δυνατότητα live-reload, που ενημερώνει αυτόματα 

την εφαρμογή όταν αλλάζει ο κώδικας, διευκολύνοντας έναν γρήγορο επαναληπτικό κύκλο 

ανάπτυξης. Οι πιο προχωρημένες εφαρμογές μπορούν να αξιοποιήσουν custom components 

και  styling,  επιτρέποντας  την  ενσωμάτωση  JavaScript  λειτουργιών  αν  χρειαστεί. 

Υποστηρίζει  εύκολη  ανάπτυξη  σε  πλατφόρμες  όπως  Streamlit  Sharing,  Heroku,  AWS  ή 

Google Cloud και διαθέτει ενεργή κοινότητα με πληθώρα πόρων και πρόσθετων στοιχείων. 

Στο  πλαίσιο  ενός  RAG  (Retrieval-Augmented  Generation)  chatbot,  το  Streamlit 

προσφέρει  ιδανική  πλατφόρμα  για  τη  δημιουργία  φιλικού  προς  τον  χρήστη  interface, 

επιτρέποντας  αλληλεπίδραση  σε  πραγματικό  χρόνο  με  το  μοντέλο,  οπτικοποίηση  των 

ανακτημένων  εγγράφων  και  πειραματισμό  με  διαφορετικά  prompts.  Η  απλότητα,  η 

διαδραστικότητα  και  η  συμβατότητά  του  με  Python-based  εργαλεία  AI  το  καθιστούν 

πρακτική επιλογή για την υλοποίηση και κοινοποίηση προηγμένων chatbot εφαρμογών με 

ελάχιστο ανάπτυξης overhead 

[20]

. 

 

2.4.5  SQLite – DB browser for SQLite 

   

Η SQLite αποτελεί μία ελαφριά και αυτόνομη σχεσιακή βάση δεδομένων, η 

οποία χρησιμοποιείται ευρέως σε εφαρμογές όπου απαιτείται αποθήκευση δεδομένων χωρίς 

την  ανάγκη  υποστήριξης  από  ξεχωριστό  διακομιστή  βάσης  δεδομένων.  Η  σχεδίασή  της 

επιτρέπει την εύκολη ενσωμάτωση σε λογισμικό όπως εφαρμογές για κινητές συσκευές, 

προγράμματα περιήγησης και ενσωματωμένα συστήματα. Βασικό πλεονέκτημα της SQLite 

είναι  η  ευχρηστία  της,  καθώς  δεν  απαιτείται  πολύπλοκη  διαδικασία  εγκατάστασης  ή 

ρύθμισης, ενώ όλα τα δεδομένα αποθηκεύονται σε ένα μοναδικό αρχείο στη συσκευή του