Como un proyecto bastante rápido, este repositorio proporciona una aplicación de transmisión que permite a un usuario cargar una captura de pantalla que se consulte en una base de datos de documentos PDF. Tanto la estructura de la imagen como el texto (posiblemente) incluido se utilizan para encontrar documentos coincidentes para un conjunto autofinido.
Cuando un usuario carga una captura de pantalla, se activan dos flujos. Primero construimos una imagen que incrustamos dos trozos de la captura de pantalla. Los trozos se construyen ya que la inscripción de la imagen VIT-G-14 está entrenada en entradas cuadradas. Las diapositivas de punto de alimentación o los documentos A4 generalmente tienen una relación lateral de más cercano a 2: 1, por lo que fragmentar debería soportar la calidad general de la consulta. Los incrustaciones de la imagen (2 x 1024dim) se consultan contra una tienda vectorial de trozos conocidos. El segundo flujo primero extrae texto de la captura de pantalla utilizando el motor Tesseract OCR de Google. Posteriormente, los incrustaciones de texto (1024Dim) se construyen utilizando uno de los modelos de mayor lenguaje con mejor rendimiento, E5-Large. En un paso final, los resultados se fusionan nuevamente, utilizando un sistema de identificación compartido entre las tiendas vectoriales, y envían al usuario.
Este es el lugar donde comparto algunos de mis pensamientos.
La idea era proporcionar una herramienta rápida para usar. Suponga que tiene una diapositiva de presentación y le gustaría saber si creó algo similar anteriormente. Si cargaría todo el documento, habría un requisito para un campo de entrada de número de página adicional, necesitaría encontrar el documento en su sistema de archivos y el tipo de archivos debería ser compatible. Simplemente tomar una captura de pantalla es más rápida (hay atajos prácticos en todo el sistema operativo) y simplemente cargar una sola imagen es sencilla.
Es rápido armar una pequeña aplicación y me gustan las interfaces visuales mucho más que las herramientas basadas en CLI.
Principalmente a través de tablas de clasificación de Huggingface. Dado que este es un pequeño proyecto, también quería usar exclusivamente modelos previamente capacitados.
El script pdf_to_db.py es una iteración simple sobre todos los documentos en pdfs/ que usa las otras clases para llenar las tiendas vectoriales.
Este no es un proyecto desarrollado activamente y se utilizó principalmente para hacer un proyecto práctico con las tecnologías usadas. Si tiene alguna pregunta, no dude en contactarme.