background image

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

 

79

 

Η επιλογή του μεγέθους δεν ήταν αυθαίρετη. Τμήματα αυτής της τάξης προσφέρουν αρκετό 

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

μεγάλα που να αραιώνουν το σήμα της σημασιολογικής αναζήτησης, ενώ η μικρή επικάλυψη 

εξασφαλίζει ότι μια πρόταση που τέμνεται στο όριο δύο τμημάτων δεν χάνει το νόημά της. 

Κάθε τμήμα μετατρέπεται σε διάνυσμα με το μοντέλο BGE-M3, που εκτελείται τοπικά μέσω 

του  Ollama  σε  ομάδες  για  ταχύτητα,  και  αποθηκεύεται  στη  ChromaDB  μαζί  με  τα 

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

σταθερό μοναδικό αναγνωριστικό που προκύπτει από τη διεύθυνση και το περιεχόμενό του. Σε 

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

έχουν  αλλάξει  και  παραλείπει  τόσο  τη  λήψη  όσο  και  την  εκ  νέου  διανυσματοποίησή  τους, 

εξοικονομώντας σημαντικό χρόνο στις περιοδικές ενημερώσεις. 

 

5.2 Ανάκτηση και έλεγχοι εισόδου 

Το  δεύτερο  μέρος  ενεργοποιείται  ζωντανά,  με  κάθε  ερώτηση.  Περιλαμβάνει  τη  μονάδα 

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

αποφασίζουν  γρήγορα  πώς  πρέπει  να  αντιμετωπιστεί  κάθε  ερώτημα  προτού  φτάσει  στην 

ανάκτηση. 

5.2.1 Η μονάδα ανάκτησης 

Η μονάδα ανάκτησης μετατρέπει πρώτα την ερώτηση σε διάνυσμα με το ίδιο μοντέλο που 

χρησιμοποιήθηκε  στην  ευρετηρίαση,  και  έπειτα  ρωτά  τη  ChromaDB  για  τα  πιο  κοντινά 

τμήματα. Η βάση επιστρέφει αποστάσεις, τις οποίες μετατρέπουμε σε ομοιότητα, και πάνω σε 

αυτές προσθέτουμε τη βαρύτητα επικαιρότητας. Για τα συνηθισμένα ερωτήματα η βαρύτητα 

αυτή  είναι  ήπια,  ενώ  για  τα  χρονικά  εξαρτημένα  ερωτήματα  γίνεται  πολύ  πιο  έντονη  και 

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

Όταν ένα έγγραφο δεν έχει καταγεγραμμένη ημερομηνία, την ανακτούμε όπου γίνεται από τη