RAG: τι είναι η αναζήτηση που υποστηρίζει τις απαντήσεις τεχνητής νοημοσύνης
Το RAG (ανάκτηση με ενίσχυση παραγωγής, Retrieval-Augmented Generation) είναι μια μέθοδος με την οποία ένα γλωσσικό σύστημα αναζητά σχετικά τεκμήρια προτού συνθέσει απάντηση. Αντί να στηρίζεται αποκλειστικά στην πληροφορία που είχε κατά την εκπαίδευσή του, μπορεί να χρησιμοποιήσει εγκεκριμένα έγγραφα, άρθρα ή βάσεις γνώσης. Η τεχνική αυτή δεν καταργεί τα λάθη. Προσθέτει όμως έναν ελέγξιμο δρόμο από την ερώτηση προς την πηγή που χρησιμοποιήθηκε.
Η διαδρομή από την ερώτηση στην απάντηση
Πρώτα μια εφαρμογή δέχεται το ερώτημα του χρήστη. Στη συνέχεια πραγματοποιεί αναζήτηση σε συλλογή εγγράφων και επιλέγει αποσπάσματα με πιθανή συνάφεια. Τα αποσπάσματα ενσωματώνονται στο υλικό που δέχεται το μοντέλο, μαζί με την αρχική ερώτηση και τους κανόνες απόκρισης. Τέλος, το μοντέλο παράγει απάντηση με βάση το διαθέσιμο πλαίσιο. Η Google Cloud περιγράφει αντίστοιχα την ανάκτηση και την παραγωγή με τεκμηρίωση ως βασικά στάδια της μεθόδου.
Η σημαντική λεπτομέρεια είναι ότι η ανάκτηση προηγείται της γλωσσικής σύνθεσης. Αν το σύστημα εντοπίσει λάθος παράγραφο, το μοντέλο μπορεί να παράγει καλογραμμένη αλλά άσχετη απάντηση. Γι' αυτό η ποιότητα της αναζήτησης ελέγχεται χωριστά από την ποιότητα της διατύπωσης. Η λύση δεν είναι να ζητάμε απλώς «μεγαλύτερη ακρίβεια», αλλά να βρίσκουμε καλύτερα τεκμήρια και να αναγνωρίζουμε κενά.
Πώς οργανώνεται η βάση γνώσης
Τα έγγραφα χρειάζονται καθαρό κείμενο, κατανοητούς τίτλους και πληροφορίες προέλευσης. Όταν είναι μεγάλα, μπορούν να διαιρεθούν σε μικρότερα αποσπάσματα με τρόπο που διατηρεί την εννοιολογική συνοχή. Ένα κομμένο τμήμα χωρίς τίτλο ή συμφραζόμενα μπορεί να αποδειχθεί άχρηστο, ακόμη κι αν περιλαμβάνει τη λέξη που αναζητήθηκε. Χρειάζεται επίσης να διατηρείται σύνδεση με το αρχικό έγγραφο, όχι μόνο το απομονωμένο απόσπασμα.
Η συλλογή πρέπει να περιλαμβάνει κανόνα ενημέρωσης. Εάν αλλάξει ένας τιμοκατάλογος, μια διαδικασία ή ένας οδηγός χρήσης, η εφαρμογή οφείλει να γνωρίζει ποια έκδοση ισχύει. Δεν είναι ασφαλές να εμφανίζονται παλιά και νέα κείμενα ως ισοδύναμα. Για ευαίσθητες πληροφορίες, τα δικαιώματα πρόσβασης εφαρμόζονται στην ίδια την αναζήτηση ώστε ένα μη εξουσιοδοτημένο έγγραφο να μην προσφέρεται ως στοιχείο.
Λεξική, σημασιολογική και συνδυαστική αναζήτηση
Η λεξική αναζήτηση δίνει βαρύτητα στις συγκεκριμένες λέξεις ενός ερωτήματος. Η σημασιολογική αναζητά τμήματα με παρόμοιο νόημα, ακόμη και αν χρησιμοποιούν διαφορετική διατύπωση. Η συνδυαστική προσέγγιση επιχειρεί να αξιοποιήσει και τις δύο. Δεν υπάρχει μία μέθοδος που υπερέχει σε όλα τα σύνολα δεδομένων. Μια τεχνική ονομασία προϊόντος μπορεί να απαιτεί ακριβή αντιστοίχιση, ενώ μια περιγραφική ερώτηση μπορεί να ωφελείται από σημασιολογική αναζήτηση.
Η Microsoft αναφέρει διαφορετικές μορφές αναζήτησης, όπως λεξική, διανυσματική και υβριδική, στη σχεδίαση συστημάτων ανάκτησης. Για να επιλέξουμε, φτιάχνουμε αντιπροσωπευτικά ερωτήματα από τους ίδιους τους χρήστες. Καταγράφουμε αν τα σωστά έγγραφα εμφανίζονται στα πρώτα αποτελέσματα και ποια κενά παραμένουν. Ένα εντυπωσιακό παράδειγμα σε λίγες ερωτήσεις δεν αρκεί για ασφαλή γενίκευση.
Παράδειγμα για εσωτερικό εγχειρίδιο
Υποθέτουμε ότι μια επιχείρηση διαθέτει εγκεκριμένους οδηγούς εξοπλισμού και ο εργαζόμενος ρωτά πώς γίνεται μια βασική διαδικασία συντήρησης. Η εφαρμογή εντοπίζει το σχετικό κεφάλαιο και επιβεβαιώνει ότι αφορά το σωστό μοντέλο συσκευής. Η απάντηση αναφέρει τα βήματα που υπάρχουν στο εγχειρίδιο και παραπέμπει στον τίτλο της ενότητας. Αν το συγκεκριμένο μοντέλο δεν καλύπτεται, πρέπει να το δηλώνει αντί να αναμειγνύει οδηγίες από άλλη συσκευή.
Η υποθετική αυτή χρήση δείχνει γιατί τα μεταδεδομένα έχουν ουσιαστική αξία. Εκτός από τις λέξεις του κειμένου, μπορούν να χρειάζονται κωδικός προϊόντος, έκδοση εγγράφου και ημερομηνία ισχύος. Η αναζήτηση με αυτά τα φίλτρα μειώνει τις αμφίσημες περιπτώσεις και βοηθά τον χρήστη να γνωρίζει σε ποιο τεκμήριο βασίζεται η απάντηση.
Πηγές, παραπομπές και κίνδυνος παραπλάνησης
Μια παραπομπή είναι χρήσιμη μόνο αν δείχνει σε πραγματική πηγή που στηρίζει τη συγκεκριμένη πρόταση. Η ύπαρξη συνδέσμου δεν αποδεικνύει την ακρίβεια όλου του κειμένου. Ελέγχουμε αν οι σημαντικοί ισχυρισμοί αντιστοιχούν στα ανακτημένα αποσπάσματα και αν το σύστημα διαφοροποιεί συμπεράσματα από άμεσα τεκμηριωμένα γεγονότα. Όταν δεν υπάρχει πηγή, η σωστή συμπεριφορά είναι να το πει καθαρά.
Ακόμη ένα πρόβλημα είναι τα κακόβουλα κείμενα μέσα στη συλλογή. Ένα αρχείο μπορεί να περιλαμβάνει προστακτικές εντολές που προσπαθούν να μεταβάλουν τη συμπεριφορά του βοηθού. Η εφαρμογή πρέπει να διατηρεί τα όρια ανάμεσα σε εξωτερικό περιεχόμενο και πραγματικές εντολές. Δεν αντιμετωπίζουμε ένα ανακτημένο απόσπασμα ως υπεράνω των κανόνων πρόσβασης ή της αρχικής εργασίας.
Πώς αξιολογείται η ποιότητα
Ένας πρακτικός έλεγχος περιλαμβάνει ερωτήματα με γνωστές απαντήσεις και γνωστά έγγραφα. Εξετάζουμε πρώτα αν ανακτήθηκε η σωστή πηγή, έπειτα αν η απάντηση παραμένει εντός της τεκμηρίωσης και τέλος αν είναι επαρκής για τον χρήστη. Η Microsoft διαχωρίζει την αξιολόγηση ανάκτησης, την τεκμηριωμένη συνέπεια και την πληρότητα της απάντησης. Αυτή η διάκριση βοηθά να διορθώσουμε το πραγματικό πρόβλημα αντί να αλλάζουμε τυχαία οδηγίες.
Στις δοκιμές προσθέτουμε ερωτήσεις χωρίς διαθέσιμη απάντηση, παρωχημένες εκδόσεις, παρόμοια ονόματα και διαφορετικά δικαιώματα χρηστών. Οι περιπτώσεις αυτές δείχνουν αν το σύστημα προτιμά την αβεβαιότητα από την επινόηση και αν κρατά τα δεδομένα απομονωμένα. Η παρακολούθηση μετά την ανάπτυξη είναι εξίσου σημαντική, γιατί το περιεχόμενο της βάσης γνώσης μεταβάλλεται.
Τι κοστίζει η τεκμηριωμένη ανάκτηση
Το κόστος δεν προκύπτει μόνο από τη χρήση του μοντέλου. Χρειάζεται προετοιμασία εγγράφων, ευρετηρίαση, περιοδική ενημέρωση, παρακολούθηση ποιότητας και διαχείριση προσβάσεων. Μια μεγάλη συλλογή μπορεί να χρειάζεται περισσότερο χώρο και πιο προσεκτική οργάνωση, χωρίς αυτό να σημαίνει ότι το αποτέλεσμα θα είναι καλύτερο. Συγκρίνουμε τον πραγματικό χρόνο εξυπηρέτησης και το κόστος συντήρησης με την εναλλακτική μιας καθαρής μηχανής αναζήτησης ή μιας χειροκίνητης διαδικασίας.
Κατά τον σχεδιασμό, προβλέπουμε τι θα συμβαίνει αν η υπηρεσία ανάκτησης δεν απαντά. Το σύστημα μπορεί να δηλώνει προσωρινή αδυναμία και να οδηγεί τον χρήστη στον εγκεκριμένο κατάλογο εγγράφων, αντί να παρουσιάζει αβέβαιη απάντηση σαν επιβεβαιωμένη. Παράλληλα, φροντίζουμε να μην επαναλαμβάνεται μια ακριβή αναζήτηση όταν υπάρχει έγκυρο πρόσφατο αποτέλεσμα για το ίδιο ακριβώς αίτημα.
Η διαφορά από την εκπαίδευση ενός νέου μοντέλου
Η ανάκτηση τεκμηρίων δεν σημαίνει ότι το γλωσσικό μοντέλο αλλάζει τα εσωτερικά του βάρη κάθε φορά που προστίθεται έγγραφο. Η εφαρμογή ανανεώνει τη διαθέσιμη γνώση γύρω από το μοντέλο. Αυτό είναι ιδιαίτερα χρήσιμο όταν οι οδηγίες μιας υπηρεσίας αλλάζουν συχνά. Αντίθετα, η εξειδικευμένη προσαρμογή μοντέλου αφορά διαφορετικό τεχνικό πρόβλημα και δεν υποκαθιστά απαραίτητα την πρόσβαση σε ενημερωμένα γεγονότα.
Για απόφαση μεταξύ των μεθόδων, ρωτάμε αν λείπει πραγματική γνώση ή αν το μοντέλο δυσκολεύεται κυρίως να ακολουθήσει συγκεκριμένο ύφος και μορφή. Η πρώτη ανάγκη συχνά οδηγεί σε καλύτερη ανάκτηση. Η δεύτερη μπορεί να αντιμετωπιστεί αρχικά με σαφέστερες οδηγίες και παραδείγματα. Κρατάμε ξεχωριστά τα δύο προβλήματα ώστε να μη δαπανηθεί χρόνος στη λάθος κατεύθυνση.
Πότε δεν είναι η κατάλληλη τεχνική
Αν η πληροφορία είναι ήδη οργανωμένη σε μια βάση με ακριβή πεδία και οι ερωτήσεις μπορούν να απαντηθούν με απλό ερώτημα, η γλωσσική σύνθεση μπορεί να είναι περιττή. Αντίστοιχα, μια πολύ μικρή και σταθερή συλλογή ίσως δεν χρειάζεται σύνθετη υποδομή ανάκτησης. Το κριτήριο είναι πόση ασάφεια υπάρχει στη γλώσσα των χρηστών και πόσο σημαντικό είναι να συντεθούν διαφορετικά τεκμήρια.
Για μια πρώτη δοκιμή, επιλέξτε περιορισμένη συλλογή αξιόπιστων εγγράφων, ορίστε υπεύθυνο ανανέωσης και συγκεντρώστε πραγματικές ερωτήσεις. Μετρήστε τις σωστές ανακτήσεις και τις παραπομπές πριν επεκτείνετε την εφαρμογή. Η μέθοδος αξίζει όταν οι χρήστες αποκτούν πιο γρήγορες, ελέγξιμες απαντήσεις χωρίς να θυσιάζεται η ακρίβεια των πηγών.