Sistema de contestadores de preguntas en PDF utilizando la generación de recuperación aumentada (RAG)
Este proyecto es un sofisticado sistema de respuesta de pregunta diseñado para extraer y proporcionar respuestas conscientes de contexto de los documentos PDF. Al integrar las técnicas de generación de recuperación avanzada (RAG) y los modelos de IA de vanguardia, el sistema permite a los usuarios interactuar con sus documentos de una manera más eficiente e inteligente.
Casos de uso
- Investigación académica : extraiga rápidamente las ideas de los trabajos de investigación, informes o estudios.
- Análisis profesional : navegue por largos contratos, blancos blancos o manuales con facilidad.
- Uso diario : simplifique las interacciones con documentos PDF densos o complejos.
Características clave
- Procesamiento de PDF : carga y procesa documentos PDF para el análisis.
- Preguntas y respuestas interactivas : ingrese preguntas en idioma natural y reciba respuestas precisas basadas en el contenido de documentos.
- Recuperación avanzada : utiliza la indexación basada en vectores y la puntuación de similitud para la recuperación precisa de contenido.
- Interfaz fácil de usar : una aplicación web creada con Strewlit garantiza la facilidad de uso y accesibilidad.
Tecnologías utilizadas
Frontend: streamlit backend: Python Machine Learning: Huggingface Transformers para la generación de texto VectorStoreIndex para indexación de documentos personalizados y postprocesador para una precisión mejorada
Instalación y configuración
- Clon el repositorio :
git clone https://github.com/your-repo-name.git
cd your-repo-name
- Ejecute la aplicación: inicie la aplicación de transmisión:
Subir un PDF y comenzar a consultar
- Cargue el archivo PDF deseado a través de la interfaz de la aplicación.

- Ingrese preguntas y recupere respuestas contextualmente precisas.

Cómo funciona
Procesamiento de PDF :
- El sistema lee y procesa el PDF cargado, dividiéndolo en fragmentos manejables para la indexación.
Recuperación de información :
- El contenido indexado se recupera utilizando incrustaciones avanzadas y puntuación de similitud.
Generación de respuestas :
- Un modelo de lenguaje previamente capacitado genera respuestas concisas y conscientes de contexto basadas en el contenido recuperado.
Pila de tecnología
- Frontend : Strewlit para una experiencia de usuario interactiva e intuitiva.
- Backend :
- Huggingface Transformers para la comprensión y generación del lenguaje natural.
- Recuperación basada en vectores utilizando integridades personalizadas.
- Lenguaje de programación : Python.
Descripción general del código
app.py
- Una aplicación de transmisión que proporciona la interfaz de usuario.
- Maneja cargas PDF, entradas de preguntas y muestra respuestas.
rag.py
- Implementa la lógica de trapo central:
- Procesamiento de PDF : lee y divide el PDF en fragmentos manejables.
- Indexación : crea un índice de vectores para la recuperación de contenido eficiente.
- Motor de consulta : utiliza un retriever y un postprocesador para responder consultas.
- Generación de respuesta : genera respuestas detalladas utilizando un modelo de transformador.
Instrucciones de uso
- Sube un archivo PDF.
- Espere a que el sistema procese el documento.
- Escriba su pregunta y haga clic en "Obtenga respuesta".
- Ver la respuesta generada por el sistema.
Mejoras futuras
- Soporte de múltiples documentos : habilite la consulta en múltiples archivos PDF.
- Soporte de varios idiomas : agregue soporte para los documentos de procesamiento en varios idiomas.
- Soporte de GPU : Implemente la aceleración de GPU para tiempos de procesamiento y respuesta más rápido.
- Formatos adicionales : expandir el soporte a otros formatos de documentos como DOCX y TXT.
- UI mejorada : Mejore la interfaz de usuario con análisis de análisis y visualización avanzados.
Que contribuye
Agradecemos las contribuciones de la comunidad. Para contribuir:
- Bifurca el repositorio.
- Crea una rama de características.
- Envíe una solicitud de extracción que detalla su contribución.
Para cualquier problema o sugerencia, abra una discusión o un problema en el repositorio.
Licencia
Este proyecto tiene licencia bajo la licencia MIT. Siéntase libre de usarlo, modificarlo y distribuirlo de conformidad con los términos de la licencia.
Contacto
Para consultas o más información, comuníquese con el rastreador de problemas del repositorio o el correo electrónico (si corresponde).