Δημιουργώντας τον δικό σου ChatGPT Βοηθό για PDF με Python και Gradio
Αυτό το πρόγραμμα αξιοποιεί τη δύναμη της τεχνητής νοημοσύνης για να δημιουργήσει έναν διαλογικό βοηθό που μπορεί να απαντά σε ερωτήσεις βασισμένες σε PDF αρχεία που ανεβάζει ο χρήστης. Ο κώδικας χρησιμοποιεί τις υπηρεσίες της OpenAI, το Gradio για το γραφικό περιβάλλον και διάφορες Python βιβλιοθήκες.
Τεχνολογίες που χρησιμοποιούνται:
-
OpenAI API: για τη δημιουργία απαντήσεων και embeddings.
-
PyMuPDF (fitz): για ανάγνωση και εξαγωγή κειμένου από PDF.
-
NumPy: για υπολογισμούς ομοιότητας (cosine similarity).
-
Gradio: για τη δημιουργία ενός απλού web περιβάλλοντος.
-
CSV/TXT: για εξαγωγή ερωτήσεων/απαντήσεων.
Τι κάνει το πρόγραμμα;
1. Ανέβασμα PDF
Ο χρήστης μπορεί να ανεβάσει ένα ή περισσότερα PDF αρχεία. Ο κώδικας τα διαβάζει σελίδα-σελίδα και αποθηκεύει το κείμενο ανά chunk (κομμάτι).
2. Ανάλυση περιεχομένου με embeddings
Για κάθε chunk, ο κώδικας δημιουργεί ένα embedding (δηλαδή έναν αριθμητικό πίνακα που αναπαριστά το νόημα του κειμένου). Το ίδιο γίνεται και για την ερώτηση του χρήστη.
3. Εύρεση των πιο σχετικών αποσπασμάτων
Μετρώντας την συγγένεια (cosine similarity) μεταξύ της ερώτησης και των chunks, επιλέγονται τα πιο σχετικά αποσπάσματα από το PDF.
4. Απάντηση μέσω GPT-4
Η απάντηση δημιουργείται από το μοντέλο GPT-4o της OpenAI, με βάση το σχετικό περιεχόμενο και την ερώτηση.
5. Προβολή απάντησης και πηγών
-
Η απάντηση εμφανίζεται σε κουτί.
-
Κάτω από την απάντηση, εμφανίζονται collapsible sections (με
details/summary
) που περιέχουν το σχετικό περιεχόμενο. -
Οι σημαντικές λέξεις της ερώτησης τονίζονται με <mark>highlighting.
6. Εξαγωγή αρχείων
-
Μπορείς να κατεβάσεις όλες τις ερωτήσεις και απαντήσεις σε CSV αρχείο.
-
Μπορείς να αποθηκεύσεις την τελευταία ερώτηση-απάντηση σε TXT αρχείο.
️ Χρήση UI μέσω Gradio
Το πρόγραμμα προσφέρει ένα απλό και λειτουργικό περιβάλλον:
-
Πεδίο για ερώτηση.
-
Πεδίο για ανέβασμα αρχείων PDF.
-
Κουμπιά για: Submit, Clear, Download CSV, Download TXT.
-
Textbox για την απάντηση και Markdown με collapsible blocks για τις πηγές.
✨ Πλεονεκτήματα
✅ Ο χρήστης παίρνει απαντήσεις βασισμένες σε πραγματικά δεδομένα (RAG – Retrieval-Augmented Generation).
✅ Αποφεύγονται “φανταστικές” απαντήσεις γιατί η GPT απαντά με βάση το PDF.
✅ Δίνεται έμφαση στη διαφάνεια με προβολή των πηγών.
✅ Η απάντηση υποστηρίζεται από απόσπασμα του εγγράφου.
Ποιο είναι το κοινό σου;
Αυτό το έργο είναι ιδανικό για:
-
Εκπαιδευτικούς που θέλουν να κάνουν ερωτήσεις σε σημειώσεις ή υλικό σε PDF.
-
Επιχειρήσεις που θέλουν έναν έξυπνο βοηθό για αρχεία πολιτικής, εγχειρίδια ή προσφορές.
-
Μαθητές / φοιτητές που θέλουν βοήθεια για γρήγορες απαντήσεις στα PDF βιβλία τους.
Comments are closed.