Νικόλαος Λυμπιτάκης, Κατασκευή ενός RAG Chatbot για
Ξενοδοχειακή Υποστήριξη
59
# ... (κώδικας βάσης δεδοµένων) ...
if 'memory' not in st.session_state:
# memory_key: Το όνοµα της µεταβλητής στο prompt template
#({chat_history})
# input_key: Καθορίζει στη µνήµη ποια συγκεκριµένη µεταβλητή
#εισόδου αποτελεί το µήνυµα του χρήστη
st.session_state.memory = ConversationBufferWindowMemory(k=5,
memory_key="chat_history", input_key="input")
Εικόνα 27 : Kώδικας από app.py
4.5.4 Επιλογή Γλώσσας
Η εφαρμογή υποστηρίζει δυναμική αλλαγή γλώσσας (Ελληνικά/Αγγλικά) μέσω
ενός sidebar. Η επιλογή αυτή επηρεάζει όχι μόνο τα στατικά κείμενα της διεπαφής (μέσω
του λεξικού UI_TRANSLATIONS, εικόνα 29), αλλά και τη συμπεριφορά του chatbot.
Όταν ο χρήστης αλλάζει γλώσσα, η εφαρμογή επαναφέρει (reset) τη μνήμη της συνομιλίας
και το ιστορικό μηνυμάτων, ώστε να ξεκινήσει μια νέα ροή στη σωστή γλώσσα.
Εικόνα 28 : Στιγμιότυπο από το UI επιλογής γλώσσας
# --- ΕΠΙΛΟΓΗ ΓΛΩΣΣΑΣ ---
selected_lang = st.sidebar.selectbox(
"Language", ["en", "el"], index=["en",
"el"].index(st.session_state.lang), key="lang_selector"
)