Dieses Projekt wurde mit dem Ziel erstellt, die Konstruktion eines Tools zu unterrichten, das ChatPDF ähnelt (ein ChatGPT, das "Gespräch mit PDFs") als LLM (großes Sprachmodell) das Open-Source-LLAMA V2 (META) -Modell (Lokal) verwendet.
Basierend auf der ersten Version dieses Projekts nahm ich am 08.10.2023 an einem Live on the Rocketseat -Kanal auf YouTube teil, wo ich die Hauptkonzepte dieser Anwendung, den Code, erläuterte und einige Beispiele fuhr. Wenn Sie die Aufzeichnung dieses live überprüfen möchten, gehen Sie zu diesem Link.
Um das Verständnis der "Bausteine" dieser Lösung zu erleichtern, folgt ein Diagramm darunter, das die Folge von Aktionen und Komponenten des Projekts darstellt.

Langchain: Es ist ein Open -Source -Framework, das eine einfache und flexible API für die Arbeit mit LLMs bietet. Es ermöglicht Entwicklern, Anwendungen zu erstellen, die LLMs für eine Vielzahl von Aufgaben verwenden, einschließlich Übersetzung, Textgenerierung, Fragen (Q & A), Agenten. Sein Connector -Ökosystem umfasst die Integration in die vielfältigsten LLMs, Vektor -Datenbanken und Chat -Motoren, was es zu einer leistungsstarken und vielseitigen Option für den Aufbau von LLMs macht.
Chromadb: Es handelt sich um einen Datenbankvektor, der zur Speicherung von Einbettungen verwendet wird, bei denen es sich um Vektoren handelt, die die Bedeutung von Wörtern oder Phrasen darstellen. Es ermöglicht Entwicklern, Einbettungen effizient zu speichern, was für Anwendungen, die LLMs verwenden, unerlässlich ist. Chromadb verwendet einen Algorithmus für die Suchanlage von Nahen Nachbarn, um Einbetten zu finden, die einer bestimmten Einbettung ähnlich sind. Dies ermöglicht es Entwicklern, große Daten schnell und genau zu erforschen.
Gradio: Es handelt sich um eine Python -Bibliothek, mit der Sie schnell grafische Schnittstellen für Prototyping und Testen von Modellen für maschinelles Lernen erstellen können. Mit dem Datensatz ist es möglich, Python -Funktionen in interaktive Schnittstellen mit nur wenigen Codezeilen umzuwandeln. Es ist besonders nützlich, um maschinelles Lernmodelle zu demonstrieren oder zu testen, ohne eine vollständige Anwendung zu erstellen.
LAMA V2: Es handelt sich um eine Sammlung von vorgeborenen und fein abgestimmten LLMs im Bereich von 7 bis 70 Milliarden Parametern. Fein abgestimmte LLMs namens LLAMA 2-CHAT werden für Dialog-Anwendungsfälle wie Chats und Konversationsschnittstellen optimiert. Lama V2 -Modelle überschreiten Open -Source -Chat -Modelle an den meisten Benchmarks, in denen sie getestet wurden, und können basierend auf unseren menschlichen Nutzen- und Sicherheitsbewertungen ein geeigneter Ersatz für geschlossene Code -Modelle sein.
pip install -r requirements.txtpipenv installInnerhalb des Konfigurationsordners befindet sich eine Datei namens .Env, in der wir einige Informationen für die Ausführung unseres Projekts konfigurieren werden.
Um es einfacher zu machen, habe ich eine .EnV -Datei mit einer Standardkonfiguration gefüllt, in der die Ordner alle im Ordner dieses Projekts berücksichtigt werden.
Öffnen Sie einfach das Jupyter Notebook rag_pdf_live.ipynb in Ihrer IDE vorzugsweise und führen Sie die Zellen nacheinander aus.
In der endgültigen Zelle dieses Notizbuchs, in dem die IU mit der Chat -Sitzung interagieren, wird ein "Laufen auf der lokalen URL: http: //127.0.0.1: 1: xxxx" angezeigt, bei dem XXXX die Tür ist, in der die Note die Web -App bestieg. Klicken Sie einfach auf die Adresse und Ihr Standardbrowser öffnet mit dem Chat -Fenster.