background image

 

 

48 

 

Χρησιμεύει στο να διατηρηθεί σωστά ο αριθμός των ερωτήσεων που απαντήθηκαν σε κάθε 

θεματική από το χρήστη.

 

def get_answered_questions(user_id, topic): 
    with sqlite3.connect('topics.db') as conn: 

        cursor = conn.cursor() 
        #select questions and answers for a specific topic 
        cursor.execute('SELECT question, answer FROM questions WHERE topic=? AND id IN (SELECT 
question_id FROM user_questions WHERE user_id=?)', (topic, user_id)) 

        #return all the results 
        return cursor.fetchall() 

 

Η save_question αποθηκεύει κάθε νέα ερώτηση που δημιουργεί το LLM και την απάντηση της 

στη βάση δεδομένων. Η συνάρτηση δέχεται τρεις παραμέτρους: 

•  topic: Το θέμα στο οποίο ανήκει η ερώτηση. 
•  question: Η ερώτηση. 
•  answer: Η απάντηση στην ερώτηση. 

Η εντολή INSERT INTO χρησιμοποιείται για την προσθήκη δεδομένων στον πίνακα questions, 

ενώ τα “?” λειτουργούν ως θέσεις για τις παραμέτρους (topic, question, answer). 

Τέλος  επιστρέφεται  το  id  της  εγγραφής  που  μόλις  προστέθηκε  στον  πίνακα  μέσω  του 

cursor.lastrowid.

 

def save_question(topic, question, answer): 

    with sqlite3.connect('topics.db') as conn: 
        cursor = conn.cursor() 
        #insert the new question and answer in the questions table 
        cursor.execute('INSERT  INTO  questions  (topic,  question,  answer)  VALUES  (?,  ?,  ?)', 

(topic, question, answer)) 
        conn.commit() 
        return cursor.lastrowid 

 

Στη save_user_question ο χρήστης συνδέεται με την ερώτηση που απάντησε και αποθηκεύεται 

το id του και το id της ερώτησης στον πίνακα user_questions. 

 

def save_user_question(user_id, question_id): 
    with sqlite3.connect('topics.db') as conn: 

        cursor = conn.cursor() 
        #insert in user_questions a new data row to associate user id with a question 
        cursor.execute('INSERT  INTO  user_questions  (user_id,  question_id)  VALUES  (?,  ?)', 
(user_id, question_id)) 

        #commit to ensure saving data 
        conn.commit()