background image

Σχεδιασμός και Υλοποίηση εξειδικευμένου chatbot για διαδικτυακές πλατφόρμες

 

89

 

χωρίς  παρενέργειες  στο  υπόλοιπο  σύστημα  καθώς  και  την  αποσφαλμάτωση.  Όλες  οι 

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

τα κατώφλια ομοιότητας, ο χρόνος ημιζωής της επικαιρότητας και τα ονόματα των μοντέλων, 

συγκεντρώνονται σε ένα μόνο αρχείο ρυθμίσεων. Έτσι, η προσαρμογή του συστήματος σε έναν 

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

ξαναγραφτεί κώδικας, κάτι που καθιστά την υλοποίηση ουσιαστικά γενικεύσιμη. 

Πίνακας 12: Τα αρχεία του συστήματος και ο ρόλος τους 

Αρχείο

 

Φάση / Κατηγορία

 

Ρόλος

 

crawl.py 

Συλλογή  

Ασύγχρονη σάρωση του ιστότοπου και των υποτομέων· συλλογή 
διευθύνσεων HTML και PDF, ανίχνευση sitemap, λίστα αποτυχιών 
για επανάληψη 

ingest.py 

Ευρετηρίαση  

Υπό συνθήκη λήψη, καθαρισμός, τεμαχισμός και 
διανυσματοποίηση του περιεχομένου· αποθήκευση στη ChromaDB 
και κατάσταση σε SQLite για αυξητικές ενημερώσεις 

retrieval_unit.py 

Ανάκτηση  

Σημασιολογική αναζήτηση στη ChromaDB, ομοιότητα συνημιτόνου, 
βαρύτητα επικαιρότητας και τελική κατάταξη 

answer_unit.py 

Παραγωγή  

Σύνθεση της τελικής δίγλωσσης απάντησης με το Llama 3.1 8B, με 
κατώφλι βεβαιότητας, αναφορά πηγής και μηχανισμοί περιορισμού 
ψευδαισθήσεων 

qa_memory.py 

Μνήμη  

Μνήμη ερωτήσεων-απαντήσεων και ανατροφοδότησης χρηστών 
σε SQLite, με ομοιότητα ερωτήσεων μέσω ενσωματώσεων 

app.py 

Διεπαφή / 
Ενορχήστρωση 

Διεπαφή Chainlit και συντονισμός της ροής: ανίχνευση γλώσσας, 
ανάκτηση, παραγωγή, κουμπιά ανατροφοδότησης 

ollama_client.py 

Μοντέλα 

Περίβλημα του Ollama για κλήσεις παραγωγής και ενσωματώσεων, 
με keep-alive ώστε να μην επαναφορτώνονται τα μοντέλα 

fetcher.py 

Βοηθητικό 

Προαιρετική ασφαλής ζωντανή λήψη επιπλέον περιεχομένου από 
επιτρεπόμενες διευθύνσεις  

utils.py 

Έλεγχοι & Βοηθητικά 

Ντετερμινιστικοί έλεγχοι εισόδου και βοηθητικές συναρτήσεις  

config.py 

Ρυθμίσεις 

Κεντρικές ρυθμίσεις: τομέας, κατώφλια, παράμετροι μοντέλων, 
διαδρομές 

logging_setup.py 

Υποδομή 

Καταγραφή συμβάντων σε ημερήσια αρχεία, ανά κατηγορία 

react_agent.py 

Πειραματικό  

Πράκτορας ReAct για λήψη αποφάσεων· δοκιμάστηκε αλλά δεν 
χρησιμοποιείται στην τελική έκδοση (βλ. §4.4.3)