Allgemeine Einführung
llm.pdf ist ein Open-Source-Projekt, mit dem Benutzer Large Language Models (LLMs) direkt in PDF-Dateien ausführen können. Das von EvanZhouDev entwickelte und auf GitHub gehostete Projekt demonstriert einen innovativen Ansatz: Kompilieren von llama.cpp zu asm.js über Emscripten und Kombinieren mit der JavaScript-Injektionsfunktion von PDF, um den Inferenzprozess des LLM vollständig in der PDF-Datei ablaufen zu lassen. Das Projekt unterstützt quantitative Modelle im GGUF-Format und empfiehlt die Verwendung des quantitativen Modells Q8 für eine optimale Leistung. Benutzer können eine PDF-Datei mit dem LLM über das mitgelieferte Python-Skript erzeugen, das einfach und effizient ist. Dieses Projekt ist ein Proof-of-Concept, das Entwicklern und Forschern, die sich für KI- und PDF-Technologien interessieren, die Möglichkeit bietet, komplexe KI-Modelle in einer nicht-traditionellen Umgebung auszuführen.
Erfahrung: https://evanzhoudev.github.io/llm.pdf/
Funktionsliste
- Führen Sie umfangreiche Sprachmodelle in PDF-Dateien aus, um die Texterstellung und Interaktion zu unterstützen.
- Kompilieren Sie llama.cpp mit Emscripten zu asm.js, um die Modellinferenz in einer Browserumgebung zu implementieren.
- Quantitative Modelle im GGUF-Format werden unterstützt, und die Q8-Quantisierung wird empfohlen, um die Laufzeit zu beschleunigen.
- Bereitstellung von Python-Skripten
generatePDF.py
Damit lassen sich PDF-Dateien erzeugen, die LLM enthalten. - Unterstützt die Einbettung von Modelldateien in PDF über base64-Kodierung, was die Verteilung und Verwendung vereinfacht.
- In YouTube-Videotutorials wird detailliert gezeigt, wie das Projekt aufgebaut ist und wie man es benutzt.
- Offener Quellcode, der die Anpassung durch den Benutzer und erweiterte Funktionen ermöglicht.
Hilfe verwenden
Installation und Vorbereitung der Umgebung
Um das Projekt llm.pdf zu verwenden, müssen die Benutzer eine Umgebung vorbereiten, die Python 3 unterstützt, und die erforderlichen Abhängigkeiten installieren. Im Folgenden werden die einzelnen Installationsschritte beschrieben:
- Projektlager klonen
Öffnen Sie ein Terminal und führen Sie den folgenden Befehl aus, um das Repository llm.pdf zu klonen:git clone https://github.com/EvanZhouDev/llm.pdf.git cd llm.pdf
- Installation von Python-Abhängigkeiten
Das Projekt setzt eine Python-Umgebung voraus, Python 3.8 oder höher wird empfohlen. Gehen Sie zuscripts
Katalog die erforderlichen Bibliotheken installieren:cd scripts pip install -r requirements.txt
Vergewissern Sie sich, dass Emscripten und andere notwendige Kompilierungswerkzeuge installiert sind. Wenn Emscripten nicht installiert ist, lesen Sie die offizielle Dokumentation, um es zu konfigurieren.
- Erstellung des GGUF-Modells
llm.pdf unterstützt nur quantitative Modelle im GGUF-Format, quantitative Modelle im Q8-Format werden für die beste Leistung empfohlen. Benutzer können GGUF-Modelle von Hugging Face oder anderen Modell-Repositories wie TinyLLaMA oder anderen kleinen LLMs herunterladen. Die Modelldateien müssen lokal gespeichert werden, z. B./path/to/model.gguf
. - PDF-Dateien generieren
Das Projekt bietet ein Python-SkriptgeneratePDF.py
Wird verwendet, um eine PDF-Datei mit dem LLM zu erzeugen. Führen Sie den folgenden Befehl aus:python3 generatePDF.py --model "/path/to/model.gguf" --output "/path/to/output.pdf"
--model
GGUF: Gibt den Pfad zum GGUF-Modell an.--output
Geben Sie den Pfad zum Speichern der erzeugten PDF-Datei an.
Das Skript bettet die Modelldatei per base64-Kodierung in das PDF-Format ein und fügt den JavaScript-Code ein, der zur Durchführung der Inferenz erforderlich ist. Der Generierungsprozess kann einige Minuten dauern, je nach Modellgröße und Geräteleistung.
- Ausführen von PDF-Dateien
Die generierte PDF-Datei kann in einem JavaScript-fähigen PDF-Reader wie Adobe Acrobat oder dem PDF-Viewer eines modernen Browsers geöffnet werden. Sobald die PDF-Datei geöffnet ist, wird das Modell automatisch geladen und die Argumentation ausgeführt. Der Benutzer kann über die PDF-Schnittstelle Text eingeben, und das Modell generiert die entsprechende Antwort. Hinweis: Aufgrund von Leistungseinschränkungen benötigt das parametrische Modell 135M etwa 5 Sekunden, um ein Token zu erzeugen.
Featured Function Bedienung
- Textgenerierung
In der PDF-Datei kann der Benutzer über ein Texteingabefeld mit dem LLM interagieren. Nach Eingabe eines Prompts generiert das Modell eine Antwort Token für Token. Kurze Aufforderungen werden empfohlen, um die Inferenzzeit zu verkürzen. Wenn Sie z. B. eingeben: "Schreiben Sie einen kurzen Satz über Katzen", könnte das Modell antworten: "Katzen jagen gerne Haarballen." Der generierte Text wird im Ausgabebereich der PDF-Datei angezeigt. - Modellauswahl und -optimierung
Das Projekt unterstützt eine Vielzahl von GGUF-Modellen, und die Nutzer können je nach Bedarf verschiedene Größen wählen. Das quantitative Modell Q8 ist die empfohlene Wahl, da es ein ausgewogenes Verhältnis zwischen Leistung und Geschwindigkeit bietet. Wenn Nutzer eine schnellere Reaktion benötigen, können sie kleinere Modelle (z.B. 135M Parameter) ausprobieren, aber die Generierungsqualität kann etwas geringer sein. - Benutzerdefinierte Erweiterungen
llm.pdf ist ein Open-Source-Projekt, die Benutzer können diescripts/generatePDF.py
oder injizierter JavaScript-Code zur Implementierung benutzerdefinierter Funktionen. Zum Beispiel, um neue interaktive Schnittstellen hinzuzufügen oder um andere Modellformate zu unterstützen. Die Benutzer müssen mit der JavaScript-API für Emscripten und PDF vertraut sein.
caveat
- LeistungsanforderungenHöhere Rechenressourcen sind erforderlich, um LLM-Inferenz in PDF auszuführen. Es wird empfohlen, das Programm auf einem Gerät mit mindestens 8 GB RAM auszuführen.
- Kompatibilität der ModelleNur quantitative Modelle im GGUF-Format werden unterstützt. Nicht-quantitative Modelle oder Nicht-GGUF-Formate führen zu einem Generierungsfehler.
- Browser-KompatibilitätEinige ältere Browser unterstützen asm.js möglicherweise nicht. Wir empfehlen daher die Verwendung der neuesten Version von Chrome oder Firefox.
- Komponenten während der Prüfung anpassenWenn die PDF-Datei nicht funktioniert, überprüfen Sie das Terminalprotokoll oder die Entwicklertools Ihres Browsers (F12) auf JavaScript-Fehler.
Lernressourcen
Das Projekt bietet ein YouTube-Video-Tutorial, das den Erstellungsprozess von llm.pdf im Detail erklärt. Benutzer können die README im GitHub-Repository oder die docs
Verzeichnis für weitere Dokumentation. Diskussionen in der Gemeinschaft finden Sie auf der GitHub Issues-Seite, wo Entwickler Fragen stellen oder Code beitragen können.
Anwendungsszenario
- Schaukasten für AI-Technologie
llm.pdf kann verwendet werden, um Kunden oder Studenten die Fähigkeit von KI-Modellen zu demonstrieren, in nicht-traditionellen Umgebungen zu arbeiten. Beispielsweise können Entwickler auf einer technischen Konferenz die PDF-Datei öffnen und die Texterstellungsfähigkeiten von LLM in Echtzeit demonstrieren, um die Übertragbarkeit und Innovation von KI zu verdeutlichen. - Bildung und Forschung
Studenten und Forscher können llm.pdf verwenden, um den Inferenzprozess des LLM mit der JavaScript-Funktionalität des PDF zu erlernen. Das Projekt bietet eine praktische Plattform, die den Nutzern hilft, die Rolle der Modellquantisierung zu verstehen und zu erfahren, wie Emscripten kompiliert wird. - Offline-Installation von AI
In Umgebungen mit eingeschränktem Netzwerk bietet llm.pdf eine serverlose Möglichkeit zur Bereitstellung von KI. Benutzer können Modelle in PDFs einbetten und sie an andere zur Offline-Texterstellung und -Interaktion weitergeben.
QA
- Welche Modelle werden von llm.pdf unterstützt?
llm.pdf unterstützt nur quantisierte Modelle im GGUF-Format. Quantisierte Modelle im Q8-Format werden für eine optimale Leistung empfohlen. Benutzer können kompatible Modelle von Hugging Face herunterladen. - Warum werden die generierten PDF-Dateien langsam ausgeführt?
Die LLM-Peep-Inferenz in PDF wird durch die Leistung des Browsers und die Größe des Modells begrenzt. 135M-Parameter-Modelle benötigen etwa 5 Sekunden pro Token. Es wird empfohlen, das quantitative Modell Q8 zu verwenden und es auf einem leistungsstarken Gerät auszuführen. - Brauche ich eine Internetverbindung, um llm.pdf zu nutzen?
Nicht erforderlich. Nach der Generierung der PDF-Datei sind das Modell und der Inferenzcode in die Datei eingebettet und können offline ausgeführt werden. Der Prozess der PDF-Erstellung erfordert jedoch eine Internetverbindung, um die Abhängigkeiten herunterzuladen. - Wie lassen sich Fehler in PDF-Dateien beheben?
Verwenden Sie die Entwicklerwerkzeuge Ihres Browsers (F12), um beim Öffnen von PDF-Dateien nach JavaScript-Fehlern zu suchen. Siehe auchgeneratePDF.py
des Terminalprotokolls.