Σχεδιασμός και Υλοποίηση εξειδικευμένου chatbot για διαδικτυακές πλατφόρμες
46
Κεφάλαιο 3 – Ανασκόπηση εργαλείων και μεθόδων αξιολόγησης
3.1 Σκοπός και δομή του κεφαλαίου
Στο προηγούμενο κεφάλαιο παρουσιάστηκε το θεωρητικό πλαίσιο πάνω στο οποίο πατάει
η εργασία. Από εδώ και πέρα η συζήτηση γίνεται πιο πρακτική. Όταν κάποιος αποφασίσει να
φτιάξει ένα RAG chatbot, βρίσκεται μπροστά σε δεκάδες επιλογές εργαλείων, που το καθένα
ισχυρίζεται ότι είναι το καλύτερο. LangChain [62] ή LlamaIndex [63]; ChromaDB ή Milvus ή
Pinecone; Ollama [21] ή vLLM [64] ή κλήση σε εμπορικό API; Chainlit ή Streamlit ή Gradio;
Αλλά και αργότερα, πώς θα μετρήσει κανείς αν αυτό που έφτιαξε δουλεύει καλά; Με BLEU;
ROUGE; BERTScore; RAGAS; Όλα τα παραπάνω συνδυαστικά;
Σκοπός του κεφαλαίου είναι να ξεκαθαρίσουμε αυτές τις επιλογές. Πρώτα παρουσιάζονται
τα εργαλεία που χρησιμοποιήθηκαν στην υλοποίηση, με αιτιολόγηση των επιλογών μας
απέναντι σε εναλλακτικές που δοκιμάστηκαν ή εξετάστηκαν. Στη συνέχεια εξετάζονται οι
μέθοδοι αξιολόγησης που είναι διαθέσιμες στη βιβλιογραφία και θα χρησιμοποιηθούν στο
Κεφάλαιο 6 της εργασίας. Όπου είναι δυνατόν, οι επιλογές μας τεκμηριώνονται με έρευνα με
επιστημονική κρίση. Για ορισμένα εργαλεία που δεν έχουν επιστημονική δημοσίευση, και είναι
περισσότερο έργα ανοιχτού κώδικα παρά ερευνητικά αντικείμενα, η αιτιολόγηση είναι
εμπειρική.
3.2 Διανυσματικές Βάσεις Δεδομένων και Αλγόριθμοι Προσεγγιστικής Αναζήτησης
Πλησιέστερων Γειτόνων
Το θεμέλιο κάθε RAG συστήματος είναι η διανυσματική βάση δεδομένων. Εκεί
αποθηκεύονται οι ενσωματώσεις των εγγράφων και εκεί γίνεται η σημασιολογική αναζήτηση
όταν φτάνει μια ερώτηση. Η αγορά αυτή έχει εκραγεί τα τελευταία πέντε χρόνια. Σύμφωνα με
την πρόσφατη επισκόπηση που δημοσιεύτηκε στο VLDB Journal, πάνω από είκοσι εμπορικά
συστήματα διαχείρισης διανυσματικών δεδομένων έχουν εμφανιστεί στο διάστημα 2019 έως