llm.pdf: proyecto experimental para ejecutar un modelo lingüístico a gran escala en un archivo PDF
Introducción general
llm.pdf es un proyecto de código abierto que permite a los usuarios ejecutar grandes modelos lingüísticos (LLM) directamente en archivos PDF. Desarrollado por EvanZhouDev y alojado en GitHub, este proyecto demuestra un enfoque innovador: a través de Emscripten los llama.cpp Compílalo en asm.js y combínalo con la función de inyección JavaScript de PDF, de modo que el proceso de inferencia de LLM pueda realizarse íntegramente en archivos PDF. El proyecto admite modelos cuantitativos en formato GGUF, y recomienda el uso de modelos cuantitativos Q8 para obtener el mejor rendimiento. Los usuarios pueden generar un archivo PDF que contenga el LLM mediante el script Python proporcionado, que es sencillo y eficiente. Este proyecto es una prueba de concepto que demuestra la viabilidad de ejecutar modelos complejos de IA en un entorno no tradicional para desarrolladores e investigadores interesados en las tecnologías de IA y PDF.

Experiencia: https://evanzhoudev.github.io/llm.pdf/
Lista de funciones
- Ejecute modelos lingüísticos de gran tamaño en archivos PDF para facilitar la generación de texto y la interacción.
- Compila llama.cpp a asm.js usando Emscripten para implementar la inferencia de modelos en un entorno de navegador.
- Se admiten modelos cuantitativos en formato GGUF, y se recomienda la cuantificación Q8 para aumentar la velocidad de ejecución.
- Proporcionar scripts de Python
generatePDF.py
Se utiliza para generar archivos PDF que contengan LLM. - Admite la incrustación de archivos modelo en PDF mediante codificación base64, lo que simplifica su distribución y uso.
- Se proporcionan tutoriales de vídeo en YouTube para mostrar en detalle cómo se construye el proyecto y cómo utilizarlo.
- Código fuente abierto, que permite la personalización por parte del usuario y la ampliación de las funciones.
Utilizar la ayuda
Instalación y preparación del entorno
Para utilizar el proyecto llm.pdf, los usuarios deben preparar un entorno compatible con Python 3 e instalar las dependencias necesarias. A continuación se detallan los pasos de instalación:
- Clonación del almacén de proyectos
Abra un terminal y ejecute el siguiente comando para clonar el repositorio llm.pdf:git clone https://github.com/EvanZhouDev/llm.pdf.git cd llm.pdf
- Instalación de las dependencias de Python
El proyecto depende de un entorno Python, se recomienda Python 3.8 o superior. Ir ascripts
catálogo, instale las bibliotecas necesarias:cd scripts pip install -r requirements.txt
Asegúrese de que Emscripten y otras herramientas de compilación necesarias están instaladas. Si Emscripten no está instalado, consulte su documentación oficial para configurarlo.
- Preparación del modelo GGUF
llm.pdf sólo admite modelos cuantitativos en formato GGUF, se recomiendan modelos cuantitativos Q8 para un mejor rendimiento. Los usuarios pueden descargar modelos GGUF de Hugging Face u otros repositorios de modelos como TinyLLaMA u otros LLM pequeños. los archivos de los modelos deben guardarse localmente, por ejemplo/path/to/model.gguf
. - Generar archivos PDF
El proyecto proporciona un script PythongeneratePDF.py
Se utiliza para generar un archivo PDF que contiene el LLM. Ejecute el siguiente comando:python3 generatePDF.py --model "/path/to/model.gguf" --output "/path/to/output.pdf"
--model
Especifica la ruta al modelo GGUF.--output
Especifique la ruta para guardar el archivo PDF generado.
El script incrusta el archivo del modelo en PDF mediante codificación base64 e inyecta el código JavaScript necesario para ejecutar la inferencia. El proceso de generación puede tardar unos minutos, dependiendo del tamaño del modelo y del rendimiento del dispositivo.
- Ejecutar archivos PDF
El archivo PDF generado puede abrirse en un lector de PDF compatible con JavaScript, como Adobe Acrobat o el visor de PDF de un navegador moderno. Una vez abierto el PDF, el modelo cargará y ejecutará automáticamente el razonamiento. El usuario puede introducir texto a través de la interfaz PDF y el modelo generará la respuesta adecuada. Nota: Debido a limitaciones de rendimiento, el Modelo paramétrico 135M genera una respuesta para cada ficha Tarda unos 5 segundos.
Función destacada Operación
- Generación de texto
En el archivo PDF, el usuario puede interactuar con el LLM a través de un cuadro de entrada de texto. Tras introducir una pregunta, el modelo genera una respuesta token a token. Se recomienda utilizar instrucciones breves para reducir el tiempo de inferencia. Por ejemplo, si se introduce "Escriba una frase corta sobre gatos", el modelo podría responder "A los gatos les gusta perseguir bolas de pelo". El texto generado se muestra en el área de salida del PDF. - Selección y optimización de modelos
El proyecto admite varios modelos de GGUF, y los usuarios pueden elegir distintos tamaños en función de sus necesidades. El modelo cuantitativo Q8 es la opción recomendada porque consigue un equilibrio entre rendimiento y velocidad. Si los usuarios necesitan una respuesta más rápida, pueden probar con modelos más pequeños (por ejemplo, 135M parámetros), pero la calidad de generación puede ser ligeramente inferior. - Extensiones personalizadas
llm.pdf es un proyecto de código abierto, los usuarios pueden modificar elscripts/generatePDF.py
o código JavaScript inyectado para implementar funciones personalizadas. Por ejemplo, para añadir nuevas interfaces interactivas o admitir otros formatos de modelo. Los usuarios deben estar familiarizados con la API de JavaScript para Emscripten y PDF.
advertencia
- Requisitos de rendimientoRecomendación: Se necesitan más recursos informáticos para ejecutar la inferencia LLM en PDF. Se recomienda ejecutarlo en un dispositivo con al menos 8 GB de RAM.
- Compatibilidad de modelosSólo se admiten modelos cuantitativos en formato GGUF. Los modelos no cuantitativos o los formatos que no sean GGUF provocarán fallos en la generación.
- Compatibilidad con navegadoresEs posible que algunos navegadores antiguos no admitan asm.js, por lo que recomendamos utilizar la última versión de Chrome o Firefox.
- ajustar los componentes durante las pruebasSi el archivo PDF no funciona, compruebe si hay errores de JavaScript en el registro del terminal o en las herramientas de desarrollo de su navegador (F12).
Recursos de aprendizaje
El proyecto ofrece un vídeo tutorial en YouTube que explica en detalle el proceso de creación de llm.pdf. Los usuarios pueden consultar el archivo README en el repositorio de GitHub o el archivo docs
para obtener más documentación. Los debates de la comunidad se pueden encontrar en la página GitHub Issues, donde los desarrolladores pueden hacer preguntas o contribuir con código.
escenario de aplicación
- Muestra de tecnología de IA
llm.pdf puede utilizarse para demostrar a clientes o estudiantes la capacidad de los modelos de IA para operar en entornos no tradicionales. Por ejemplo, en una conferencia técnica, los desarrolladores pueden abrir el PDF y demostrar las capacidades de generación de texto de LLM en tiempo real, destacando la portabilidad y la innovación de la IA. - Educación e investigación
Los estudiantes e investigadores pueden utilizar llm.pdf para aprender el proceso de inferencia de LLM con la funcionalidad JavaScript del PDF. El proyecto proporciona una plataforma práctica para ayudar a los usuarios a comprender el papel de la cuantificación de modelos y cómo se compila Emscripten. - Despliegue offline de IA
En entornos con limitaciones de red, llm.pdf ofrece una forma de desplegar la IA sin necesidad de servidores. Los usuarios pueden incrustar modelos en PDF y distribuirlos a otros para generar texto e interactuar sin conexión.
CONTROL DE CALIDAD
- ¿Qué modelos admite llm.pdf?
llm.pdf sólo admite modelos cuantificados en formato GGUF; se recomienda utilizar modelos cuantificados Q8 para obtener el mejor rendimiento. Los usuarios pueden descargar modelos compatibles de Hugging Face. - ¿Por qué los archivos PDF generados funcionan con lentitud?
La inferencia de picos LLM en PDF está limitada por el rendimiento del navegador y el tamaño del modelo. Los modelos de 135M parámetros tardan unos 5 segundos por token. Se recomienda utilizar el modelo cuantitativo Q8 y ejecutarlo en un dispositivo de alto rendimiento. - ¿Necesito conexión a Internet para utilizar llm.pdf?
No es necesario. Tras generar el PDF, el modelo y el código de inferencia se incrustan en el archivo y pueden ejecutarse sin conexión. Sin embargo, el proceso de generación del PDF requiere una conexión a Internet para descargar las dependencias. - ¿Cómo depurar errores en archivos PDF?
Utilice las herramientas de desarrollo de su navegador (F12) para comprobar si hay errores de JavaScript al abrir archivos PDF. Consulte tambiéngeneratePDF.py
del registro del terminal.
© declaración de copyright
El artículo está protegido por derechos de autor y no debe reproducirse sin autorización.
Artículos relacionados
Sin comentarios...