Système de réponse aux questions PDF Utilisation de la génération (RAG) de la récupération (RAG)
Ce projet est un système de réponses de questions sophistiqué conçu pour extraire et fournir des réponses contextuelles à partir de documents PDF. En intégrant des techniques de génération (RAG) de récupération avancée et des modèles d'IA de pointe, le système permet aux utilisateurs d'interagir avec leurs documents de manière plus efficace et intelligente.
Cas d'utilisation
- Recherche académique : extraire rapidement les informations des articles de recherche, des rapports ou des études.
- Analyse professionnelle : naviguez en toute simplicité des contrats, des blancs ou des manuels.
- Utilisation quotidienne : simplifiez les interactions avec des documents PDF denses ou complexes.
Caractéristiques clés
- Traitement PDF : téléchargez et traitez les documents PDF pour l'analyse.
- Q&R interactive : Entrez des questions en langage naturel et recevez des réponses précises en fonction du contenu du document.
- Récupération avancée : utilise l'indexation basée sur les vecteurs et la notation de similitude pour une récupération précise de contenu.
- Interface conviviale : une application Web construite avec Streamlit garantit la facilité d'utilisation et l'accessibilité.
Technologies utilisées
Frontend: Backend rationalisé: Python Machine Learning: HuggingFace Transformers pour la génération de texte VectorStoreIndex pour l'indexation des documents Retriever personnalisé et postprocesseur pour une précision améliorée
Installation et configuration
- Clone le référentiel :
git clone https://github.com/your-repo-name.git
cd your-repo-name
- Exécutez l'application: démarrez l'application Streamlit:
Téléchargez un PDF et commencez à interroger
- Téléchargez votre fichier PDF souhaité via l'interface d'application.

- Entrez des questions et récupérez des réponses contextuellement précises.

Comment ça marche
Traitement PDF :
- Le système lit et traite le PDF téléchargé, le divisant en morceaux gérables pour l'indexation.
Renseignante des informations :
- Le contenu indexé est récupéré à l'aide d'incorporation avancée et de notation de similitude.
Génération de réponses :
- Un modèle de langue pré-formé génère des réponses contextuelles et concises basées sur le contenu récupéré.
Pile technologique
- Frontend : rationalisation pour une expérience utilisateur interactive et intuitive.
- Backend :
- Transformers étreintes pour la compréhension et la génération du langage naturel.
- Récupération basée sur les vecteurs à l'aide d'incorporation personnalisée.
- Langue de programmation : Python.
Présentation du code
app.py
- Une application rationalisée qui fournit l'interface utilisateur.
- Gère les téléchargements PDF, les entrées de question et affiche des réponses.
rag.py
- Implémente la logique de chiffon central:
- Traitement PDF : lit et divise le PDF en morceaux gérables.
- Indexation : crée un index vectoriel pour une récupération efficace de contenu.
- MOTEUR DE RESTION : utilise un retriever et un postprocesseur pour répondre aux requêtes.
- Génération de réponse : génère des réponses détaillées à l'aide d'un modèle de transformateur.
Instructions d'utilisation
- Téléchargez un fichier PDF.
- Attendez que le système traite le document.
- Tapez votre question et cliquez sur "Obtenez la réponse".
- Consultez la réponse générée par le système.
Améliorations futures
- Prise en charge multi-documents : Activez la requête sur plusieurs fichiers PDF.
- Prise en charge multi-langues : ajoutez la prise en charge des documents de traitement en plusieurs langues.
- Prise en charge du GPU : implémentez l'accélération du GPU pour les temps de traitement et de réponse plus rapides.
- Formats supplémentaires : Développez la prise en charge des autres formats de documents tels que DOCX et TXT.
- UI améliorée : améliorez l'interface utilisateur avec des fonctionnalités d'analyse et de visualisation avancées.
Contributif
Nous accueillons les contributions de la communauté. Pour contribuer:
- Fourk le référentiel.
- Créez une branche de fonctionnalité.
- Soumettez une demande de traction détaillant votre contribution.
Pour tout problème ou suggestion, veuillez ouvrir une discussion ou un problème sur le référentiel.
Licence
Ce projet est autorisé sous la licence du MIT. N'hésitez pas à l'utiliser, à le modifier et à le distribuer conformément aux termes de la licence.
Contact
Pour des demandes de renseignements ou plus d'informations, veuillez contacter via le tracker ou e-mail du numéro de référentiel (le cas échéant).