background image

 

 

41 

 

Δυναμική Δημιουργία Ερωτήσεων 

 

 

 

Εικόνα 23.Διεξαγωγή διαλόγου 

Με  την  get_unasked_question  το  LLM  αντλεί  από  τη  βάση  δεδομένων  τις 

αποθηκευμένες ερωτήσεις και τις απαντήσεις τους και μέσω prompt του δίνεται η εντολή να 

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

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

στην  ίδια  απάντηση  με  την  προηγούμενη.

  Η  συνάρτηση  get_answered_questions  (user_id, 

knowledge_topic)  ανακτά  όλες  τις  ερωτήσεις  που  έχει  ήδη  απαντήσει  ο  χρήστης  για  το 

συγκεκριμένο θέμα και τις μετατρέπει στη λίστα answered_texts, ώστε να δοθούν στο LLM ως 

αναφορά  για  την  αποφυγή  επανάληψης.  Παράλληλα,  η  get_last_user_age()  επιστρέφει  την 

τελευταία καταχωρημένη ηλικία του χρήστη, επιτρέποντας στο LLM να προσαρμόσει τη νέα 

ερώτηση στο κατάλληλο επίπεδο δυσκολίας. Το μοντέλο λαμβάνει την οδηγία να δημιουργήσει 

μια  μοναδική  ερώτηση  και  απάντηση  σχετική  με  το  knowledge_topic,  αποφεύγοντας  να 

επαναλάβει  προηγούμενες  ερωταπαντήσεις.  Στη  συνέχεια,  εντοπίζεται  η  ερώτηση  και  η 

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

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

των  απαντημένων,  επιστρέφεται  ως  νέα.  Διαφορετικά,  επιστρέφεται  None,  None.  Σε 

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

και επιστρέφει None, None.