Chatbot με δικά σου δεδομένα: το «δεν ξέρω» είναι βασική λειτουργία

|Συντάκτης: Συντακτική ομάδα QUASA|5 λεπτά ανάγνωσης| 1
Chatbot με δικά σου δεδομένα: το «δεν ξέρω» είναι βασική λειτουργία

Για να φτιάξεις ένα RAG chatbot με δικά σου δεδομένα, εισάγεις τα έγγραφα σε αναζητήσιμη συλλογή και ανακτάς τα σχετικά αποσπάσματα για κάθε ερώτηση. Η εφαρμογή επιτρέπει απάντηση μόνο όταν τα αποσπάσματα τη στηρίζουν, δείχνει από πού προκύπτει και εφαρμόζει τα δικαιώματα του χρήστη. Αν λείπει το κρίσιμο τεκμήριο, απαντά «δεν γνωρίζω από τα διαθέσιμα έγγραφα».

Η δυσκολία φαίνεται όταν ο χρήστης κάνει μια ασαφή συμπληρωματική ερώτηση, ζητά πολιτική που έχει αλλάξει ή ρωτά κάτι που απουσιάζει από τη συλλογή. Ο οδηγός RAG του Fetch Hive περιγράφει αυτές τις περιπτώσεις και προτείνει να ελέγχονται χωριστά τα αποσπάσματα που ανακτήθηκαν και η απάντηση που συντάχθηκε. Γι’ αυτό το κριτήριο επαρκούς τεκμηρίωσης χρειάζεται να οριστεί στη ροή της εφαρμογής, όχι να αφεθεί μόνο στη διατύπωση του prompt.

Ετοίμασε έγγραφα που μπορούν να ανακτηθούν

Έγγραφο χωρισμένο σε ανακτήσιμα αποσπάσματα που παραμένουν συνδεδεμένα με την αρχική πηγή.

Ξεκίνα από εγκεκριμένες πηγές με σαφή ιδιοκτήτη: πολιτικές, οδηγίες προϊόντος και άρθρα υποστήριξης. Για κάθε έγγραφο κράτησε σταθερό αναγνωριστικό, τίτλο, ενότητα, έκδοση, ημερομηνία ισχύος, κατάσταση δημοσίευσης και δικαιώματα πρόσβασης. Έτσι η αναζήτηση μπορεί να αποκλείει ένα παλιό αντίγραφο όταν υπάρχει νεότερη ενεργή πολιτική για το ίδιο θέμα.

Κατά την εισαγωγή, έλεγξε το εξαγόμενο κείμενο: σε PDF ή σαρωμένο υλικό μπορεί να χαθεί η σειρά των παραγράφων ή η σχέση ενός πίνακα με την επικεφαλίδα του. Χώρισε το περιεχόμενο σε αποσπάσματα που διατηρούν μια ολοκληρωμένη οδηγία μαζί με τις προϋποθέσεις της. Αν ένα απόσπασμα κόβεται πριν από μια εξαίρεση, η μελλοντική απάντηση μπορεί να αποδώσει σωστά τις λέξεις αλλά λάθος τον κανόνα. Κάθε απόσπασμα χρειάζεται να διατηρεί τη σύνδεση με το αρχικό έγγραφο και τα μεταδεδομένα του.

Για μια φιλοξενούμενη υλοποίηση αναζήτησης, η τεκμηρίωση File Search της OpenAI ορίζει ότι προηγούνται η δημιουργία vector store και η μεταφόρτωση αρχείων· το εργαλείο συνδυάζει σημασιολογική αναζήτηση με αναζήτηση λέξεων-κλειδιών. Η ύπαρξη αυτού του εργαλείου δεν αποφασίζει από μόνη της ποια έκδοση πολιτικής είναι έγκυρη ή τι επιτρέπεται να δει κάθε χρήστης.

Ανάκτησε τεκμήρια για την πραγματική ερώτηση

Μια συμπληρωματική ερώτηση χρειάζεται συχνά το απαραίτητο ιστορικό της συνομιλίας. Αν ο χρήστης ρωτήσει «και στην Κύπρο;», η αναζήτηση πρέπει να περιλάβει και το θέμα στο οποίο αναφέρεται. Όταν το ιστορικό αφήνει περισσότερες εύλογες ερμηνείες, ζήτησε διευκρίνιση πριν αναζητήσεις ή συνθέσεις έναν κανόνα για λάθος περίπτωση.

Περιόρισε την αναζήτηση στα έγγραφα που δικαιούται να χρησιμοποιήσει ο συγκεκριμένος χρήστης και, όπου χρειάζεται, στην κατάλληλη χώρα και ενεργή έκδοση. Έπειτα εξέτασε αν τα αποτελέσματα περιέχουν την πληροφορία που απαιτεί η ερώτηση, όχι απλώς παρόμοιους όρους. Ένα απόσπασμα για επιστροφές προϊόντων μπορεί να είναι θεματικά σχετικό, αλλά να μην απαντά αν ο κανόνας καλύπτει εταιρικούς πελάτες. Στο μοντέλο πρέπει να φτάνουν τα επιτρεπόμενα, σχετικά αποσπάσματα μαζί με τα αναγνωριστικά των πηγών τους.

Κάνε τις παραπομπές ελέγξιμες

Η απάντηση χρειάζεται παραπομπή στο σημείο που στηρίζει κάθε ουσιαστικό συμπέρασμα. Αποθήκευσε μαζί με το απόσπασμα τον τίτλο του εγγράφου, την έκδοση και την ενότητά του, ώστε η εφαρμογή να μπορεί να δείξει στον χρήστη το σχετικό χωρίο, εφόσον έχει πρόσβαση. Ένας σύνδεσμος προς ολόκληρο το αρχείο είναι λιγότερο χρήσιμος όταν η απάντηση εξαρτάται από μία συγκεκριμένη εξαίρεση.

Η παρουσία παραπομπής δεν εγγυάται ότι στηρίζει όλη την πρόταση. Αν το έγγραφο επιτρέπει κάτι μόνο για μια κατηγορία πελατών, η απάντηση πρέπει να διατηρεί αυτόν τον περιορισμό. Η αντιστοίχιση ισχυρισμών και παραπομπών γίνεται δυσκολότερη όταν μία πρόταση συνδυάζει διαφορετικούς όρους, περιοχές ή εξαιρέσεις· χώρισε τότε την απάντηση ώστε να φαίνεται ποιο χωρίο στηρίζει κάθε μέρος της.

Εφάρμοσε τα δικαιώματα πριν από το μοντέλο

Τα δικαιώματα πρόσβασης περιορίζουν ποια αποσπάσματα εγγράφων μπορούν να χρησιμοποιηθούν στην απάντηση.

Τα δικαιώματα πρόσβασης πρέπει να περιορίζουν την ανάκτηση πριν σταλεί περιεχόμενο στο μοντέλο. Η τεκμηρίωση ασφάλειας της Microsoft περιγράφει για το Azure AI Search έλεγχο σε επίπεδο εγγράφου, με μεταδεδομένα δικαιωμάτων στην ευρετηρίαση και επιβολή τους κατά το ερώτημα. Σε άλλη υποδομή χρειάζεται αντίστοιχος μηχανισμός στην εφαρμογή και στην υπηρεσία αναζήτησης που χρησιμοποιείς.

Παρήγαγε τα φίλτρα από την επαληθευμένη ταυτότητα και τις ομάδες του χρήστη, όχι από μια τιμή που μπορεί να αλλάξει στο αίτημά του. Έλεγξε και όσα συμβαίνουν μετά την αναζήτηση: η προσωρινή μνήμη απαντήσεων, το ιστορικό συνομιλίας και οι σύνδεσμοι παραπομπών πρέπει να τηρούν τα ίδια δικαιώματα. Διαφορετικά, μια σωστά φιλτραρισμένη νέα αναζήτηση μπορεί να συνοδευτεί από παλιά απάντηση ή παραπομπή που ανήκει σε άλλον χρήστη.

Όρισε πότε η απάντηση σταματά

Η άρνηση χρειάζεται ελέγξιμες συνθήκες. Μην παράγεις πλήρη απάντηση όταν δεν βρέθηκε σχετικό απόσπασμα, όταν το αποτέλεσμα παραλείπει μια αναγκαία προϋπόθεση ή όταν δύο διαθέσιμες εκδόσεις συγκρούονται χωρίς σαφή ένδειξη για το ποια ισχύει. Μια χρήσιμη διατύπωση εξηγεί το συγκεκριμένο κενό: «Δεν εντόπισα ενεργή πολιτική για αυτό το θέμα στα έγγραφα στα οποία έχετε πρόσβαση».

Μια βαθμολογία ομοιότητας μπορεί να βοηθήσει στον εντοπισμό αδύναμων αποτελεσμάτων, αλλά δεν αποδεικνύει ότι το κείμενο απαντά στην ερώτηση. Ρύθμισε όποιο όριο χρησιμοποιήσεις με ερωτήσεις από τη δική σου συλλογή και εξέτασε το ανακτημένο χωρίο. Όταν η τεκμηρίωση είναι μερική, η απάντηση μπορεί να πει τι προκύπτει από αυτήν και ποιο στοιχείο παραμένει άγνωστο. Για ερώτηση που απαιτεί περισσότερες πληροφορίες, η γενική γνώση του μοντέλου δεν πρέπει να συμπληρώνει σιωπηρά το κενό.

Δοκίμασε αλλαγές εγγράφων και δύσκολες ερωτήσεις

Φτιάξε ένα μικρό σταθερό σύνολο δοκιμών από τα δικά σου έγγραφα: μια άμεση ερώτηση, μια παράφραση, μια ασαφή συνέχεια, μια ερώτηση χωρίς απάντηση, δύο εκδόσεις της ίδιας πολιτικής και ένα αίτημα για έγγραφο άλλου χρήστη. Για καθεμία κατέγραψε ποιο χωρίο αναμένεται να ανακτηθεί, ποια απάντηση επιτρέπεται και πότε χρειάζεται διευκρίνιση ή άρνηση. Έτσι μπορείς να εντοπίσεις αν η αστοχία έγινε στην αναζήτηση ή στη σύνθεση της απάντησης.

Όταν ενημερώνεται ένα έγγραφο, αντικατάστησε τα σχετικά αποσπάσματα και τα μεταδεδομένα της έκδοσης πριν επαναλάβεις τις δοκιμές. Όταν διαγράφεται ή ανακαλείται, βεβαιώσου ότι παύει να εμφανίζεται στα αποτελέσματα, στις παραπομπές και σε αποθηκευμένες απαντήσεις. Πρόσθεσε στο σύνολο δοκιμών κάθε πραγματική περίπτωση όπου το chatbot απάντησε με ανεπαρκές τεκμήριο ή αρνήθηκε ενώ υπήρχε σαφής απάντηση: και τα δύο αποτελέσματα δείχνουν ποιο μέρος της ροής χρειάζεται διόρθωση.

Διαβάστε επίσης:

Κοινοποίηση:

Εγγραφείτε στο newsletter μας

Λάβετε τα τελευταία νέα για Web3, AI και κρυπτονομίσματα απευθείας στα εισερχόμενά σας.

0