Transkripte
1. Über den Kurs: In diesem Videokurs lernen Sie Lang Chin
und seine Konzepte kennen. LangChn ist ein Framework, das entwickelt wurde , um Anwendungen zu erstellen, die auf großen Sprachmodellen basieren Es bietet Tools und
Abstraktionen, die die Integration von
LLMs in Anwendungen
erleichtern und Aufgaben
wie Beantwortung, Textgenerierung, Rag,
Chatbots und mehr
ermöglichen Textgenerierung, Rag,
Chatbots In diesem Kurs haben wir
die folgenden Lektionen anhand von
Live-Laufbeispielen behandelt die folgenden Lektionen anhand von
Live-Laufbeispielen Fangen wir mit
der ersten Lektion an.
2. LangChain – Einführung, Funktionen und Anwendungsbeispiele: In dieser Lektion werden wir
lernen, was Lang Chin ist. Wir werden auch
die Funktionen sowie
ihre Anwendungsfälle besprechen . Lass uns anfangen. Lang Chain ist ein
Framework für die Entwicklung
von Anwendungen, die auf großen Sprachmodellen basieren. Es vereinfacht den
gesamten Lebenszyklus von LLM-Anwendungen
von der Entwicklung bis zur Bereitstellung und Überwachung Es ist nützlich, um
kontextsensitive und
auf Argumenten basierende Sie können
LLMs problemlos in Anwendungen integrieren Aufgaben wie
Textgenerierung,
Rag,
Quotien-Beantwortung und andere
ermöglichen Rag,
Quotien-Beantwortung und andere Durch die Verkettung mehrerer
Modelle und Prozesse ermöglicht
Ang Chain einem Benutzer, komplexe Workflows zu
erstellen Damit können Sie mit Lang Chain problemlos
verschiedene Komponenten eines
EA-Systems verwalten mit Lang Chain problemlos
verschiedene Komponenten eines
EA-Systems Lassen Sie uns zunächst verstehen,
was Lang Chin interpretiert? Es bedeutet Lang plus Kette. Das bedeutet, dass große
Sprachmodelle sowohl für Lang
als auch für Chain dazu dienen, diese LLMs zu
kombinieren, wie die Verkettung dieser Kette
basiert also auf LLMs wie Open Es,
GPT,
HuggingPase-Modellen und anderen Mit Lang Chain können Sie
problemlos
mehrere Schritte oder
Komponenten miteinander verknüpfen, z. B. das Abrufen
von Daten aus einer Datenbank oder einem
Dokumentenspeicher und die Verarbeitung dieser Daten zur einem
Dokumentenspeicher Generierung von Einbettungen. Sie können
Antworten auch mithilfe
einer LLM-Interaktion mit
APIs und Datenbanken generieren einer LLM-Interaktion mit Hier sind die Funktionen
von Lang Chain. Sie können sich problemlos
in LLMs integrieren. Es bietet eine einheitliche Oberfläche für die Interaktion mit
verschiedenen Modellen. Erstellen Sie Operationsketten ,
in denen die Ausgabe eines Schritts als Eingabe für
den nächsten Schritt hinzugefügt
wird. Zum Beispiel eine Kette, die relevante Dokumente
abruft
und mithilfe eines LLM beantwortet Lang Chain unterstützt auch Speicher. Wie der Name schon sagt, wird der
Speicher zum Speichern und
Abrufen von Kontext
über Interaktionen hinweg verwendet . Auf diese Weise
können Sie ganz einfach
Chat-Boards oder
Anwendungen erstellen , die Kontext aus früheren
Interaktionen
benötigen, z. B. den Speicher Lang Chin
bietet auch Tools für die Indexierung und das
Abrufen von Dokumenten Sie würden also über Rag
Bescheid wissen, also ist Rag Retrieval
Augmented Generation Lang Chin hilft auch beim
Aufbau von Rag-Systemen, wie z. B. einem Vektor, der gespeichert wird, um
relevante Dokumente für eine
Abfrage abzurufen . Lang Chin
unterstützt auch Agenten, also
Systeme, die mithilfe von LLMs
entscheiden, welche Aktionen in welcher Reihenfolge
ergriffen werden Systeme, die mithilfe von LLMs
entscheiden, welche Aktionen in welcher Reihenfolge
ergriffen Wie ein Agent, der die Vertriebsarbeit
erleichtert, ein Agent, der mit
externen APIs oder Datenbanken interagieren kann externen APIs oder LangCHN bietet auch Tools für Eingabeaufforderungen, mit denen Sie Eingabeaufforderungen
einfach verwalten und
optimieren können einfach verwalten und
optimieren Lang Chin ist modular aufgebaut
und
ermöglicht es Entwicklern, Komponenten zu kombinieren , sodass benutzerdefinierte Workflows einfach erstellt werden können Sehen wir uns nun die
Anwendungsfälle von Lang Chin an. Wenn Sie ein System
für Quotien-Antworten aufbauen möchten, können
Sie
dies mit Lang Chin ganz einfach erreichen Dadurch werden relevante
Informationen abgerufen und Antworten
generiert Erstellen Sie ganz einfach
Konversationsagenten, die wie ein Chat-Board den Kontext über alle
Interaktionen hinweg
beibehalten. Implementieren Sie Rag auch mit
Lang Chain, sodass Sie Text
erhalten, der
genauer ist und
auf Ihren eigenen Dokumenten basiert Sie können auch Texte zusammenfassen, lange Dokumente
oder Artikel
einfach mit Lang Chin zusammenfassen und auf
einfache Weise Tools erstellen, mit denen
Zitate generiert werden können Auf diese Weise können Sie ganz einfach einen
persönlichen virtuellen Assistenten
für Aufgaben wie die Planung, das
Abrufen von Informationen, das
Verfassen einer E-Mail und andere erstellen persönlichen virtuellen Assistenten
für Aufgaben wie die Planung, Abrufen von Informationen, das
Verfassen einer E-Mail In dieser Lektion haben wir also gesehen, was Lang Chin ist und welche Funktionen es hat Wir haben auch die Anwendungsfälle gesehen. Danke, dass du dir das
Video angesehen hast.
3. Was ist Chaining in LangChain?: In dieser Lektion
werden wir verstehen, was Verkettung in Lang Chin bedeutet Wir haben bereits gesehen, wie man Lang Chin
wie Lang plus Kette
interpretiert Lassen Sie uns also sehen, was Kette ist. Lang Chain ist ein Prozess, bei dem mehrere
Komponenten oder Schritte
zu einer Sequenz
kombiniert werden, sodass Sie eine bestimmte Aufgabe erfüllen
können. Verkettung ist wichtig
, damit Sie
Komponenten kombinieren und aufeinander abstimmen können , um die Erstellung benutzerdefinierter Workflows zu vereinfachen und Systeme zu erstellen, die den Kontext aus
vorherigen Schritten
wie dem Chat-Verlauf verwenden vorherigen Schritten
wie dem Chat-Verlauf Auf diese Weise können Sie mithilfe der Verkettung
auch schwierige
Aufgaben problemlos in kleinere, einfachere Schritte unterteilen Hier ist ein kurzes Beispiel für die
Verkettung in einer Langkette. Lassen Sie uns einen Lappen
bauen, der ein erweitertes
Generationssystem abruft Was ist dabei der erste
Schritt, der abgerufen wird? Sie können einen Retriever verwenden, um relevante
Dokumente abzurufen. Anschließend werden
die relevanten Dokumente und
ein Quotient, also eine Aufforderung, an einen LLM weitergeleitet,
um eine Antwort zu
generieren die relevanten Dokumente und
ein Quotient, also eine Aufforderung, an einen LLM weitergeleitet, um eine Antwort zu Und was wird das Ergebnis sein? Die Antwort wird an den Benutzer
zurückgegeben. Die Reihenfolge der
Schritte, die wir gesehen haben, ist also eine Kette , die Abruf und
Generierung in einem
einzigen Workflow kombiniert Generierung in einem
einzigen Workflow Das ist also das
Konzept der Verkettung. Das Verketten ist wie das Verknüpfen
mehrerer Komponenten miteinander, um eine Abfolge von
Vorgängen wie dem Abrufen von
Dokumenten zu erstellen Vorgängen wie dem Abrufen von
Dokumenten Also, Leute, wir haben gesehen, was
Verkettung in der Lang-Kette bedeutet. Danke, dass ihr euch das
Video angesehen habt.
4. Komponenten/Module von LangChain: In dieser Lektion
werden wir verstehen, was die Komponenten
von Lang Chin sind Betrachten Sie sie auch als die
Module von Lang Chin. Lassen Sie uns sehen, um
komplexe Workflows,
einschließlich LLMs, zu erstellen . Lang Chin hat einige Komponenten
bereitgestellt Lassen Sie uns sie sehen. Die
erste ist die Vorverarbeitung Wie der Name schon sagt, bereitet
es Ihre
Rohdaten wie Ihre Dokumente so auf, dass Sie sie
in beliebigen Workflows verwenden können Es beinhaltet auch die Aufgabe, Text in Blöcke
aufzuteilen, Daten zu
bereinigen und
Einbettungen zu generieren Dann kommen deine Modelle. Dies sind Ihre LLMs, das sind große Sprachmodelle oder sogar die Einbettungsmodelle Sie müssen von GPT gehört haben, auch von Umarming Face
Models. Dazu gehören auch Ihre
maßgeschneiderten
, fein abgestimmten Dann kommt die Komponente mit den
Eingabeaufforderungen. Dies sind Ihre Fragen
zu Anweisungen oder betrachten Sie sie als Eingabe, die dem LLM
zur Generierung von Antworten gegeben wird Dies sind die Eingabeaufforderungen, die
Sie in Chat GBT eingeben. Es kann statisch oder dynamisch generiert werden, basierend auf
Kontext oder Benutzereingaben Dann kommt die Erinnerung. Wie
der Name schon sagt, speichert und ruft
es
beispielsweise Ihren Chat-Verlauf Es ermöglicht Anwendungen auch, Kontinuität
und Kontextsensitivität
aufrechtzuerhalten Veränderung besteht, wie bereits erwähnt,
darin, mehrere Komponenten zu
einer Abfolge von Schritten zu kombinieren . Die Idee besteht darin, die Ausgabe
einer Komponente als
Eingabe an die nächste zu
übergeben , wodurch ein strukturierter Arbeitsablauf entsteht. Auf diese
Weise können Sie
komplexe Workflows wie
Quotien-Beantwortung,
Textgenerierung, Zusammenfassung usw. problemlos umgehen komplexe Workflows wie
Quotien-Beantwortung, Textgenerierung, Zusammenfassung usw. Indizes sind die Tools zum effizienten Organisieren und Sie können es mit einer
Laiendefinition von Indizes in Verbindung bringen,
weshalb wir Indizes verwenden,
damit wir die Daten schnell abrufen können Auch auf diese Weise
können Sie auf einfache Weise das
schnelle Abrufen relevanter Informationen ermöglichen schnelle Abrufen relevanter Informationen Agenten,
das sind die Systeme, die
LLMs verwenden, um über Aktionen zu entscheiden und mit externen
Tools oder APIs zu
interagieren Damit können Sie
Aufgaben wie das Aufrufen von APIs, das Abfragen der
Datenbank und Also, Leute, wir haben gesehen, was die
Bestandteile der Lang-Kette sind. In den kommenden Lektionen werden
wir sie nacheinander besprechen und danach werden wir
ein Live-Beispiel
für die Lang-Kette sehen .
5. Vorverarbeitungskomponente von LangChain: In dieser Lektion
werden wir
die erste Komponente von Ang Chin verstehen , nämlich
die Vorverarbeitung .
Lassen Sie uns sehen Wie der Name schon sagt, beginnt
der Lang Chin-Prozess mit Dokumentenladern
und Textteilern Dies kann PDF-Dokumente einschließen. Das Laden und
Vorverarbeiten von Daten ist was die
Vorverarbeitungskomponente beinhaltet Danach wird die Ausgabe
an andere Komponenten wie
Modell, Indizes und Ketten weitergegeben an andere Komponenten wie
Modell, Indizes und Ketten Im Allgemeinen sind
diese Komponenten von
Dokumentenladern
und Textteilern nicht unter den Ang-Chin-Komponenten diese Komponenten von
Dokumentenladern
und Textteilern enthalten,
aber sie
sind immer noch
ein wesentlicher Bestandteil des Lang Das erleichtert Ihnen die Arbeit
bei der Erstellung von Workflows. Warum sollten wir also mit
dem Schritt zum Laden von Dokumenten und dem
Textsplitter beginnen , sodass dieser Schritt der Datenaufnahme Einstiegspunkt für die Übertragung Ihrer externen
Daten
in das System
beinhaltet Ihrer externen
Daten
in Die Aufgabe von Textsplittern besteht
darin , sicherzustellen, dass Ihre Daten richtige Format haben, sodass sie vom Model problemlos verarbeitet
werden können,
unabhängig davon, ob es sich
um ein
LLM- oder ein Hochzeitsmodell handelt Wenn Sie das
Dokument in Abschnitte aufteilen, ermöglicht
dies eine parallele
Verarbeitung und einen Verarbeitung Damit können Sie auch
Skalierbarkeit erreichen. Durch die Aufteilung der Daten können
Sie große Datensätze verarbeiten. Leute, wir haben gesehen, was die
Vorverarbeitungskomponente
von Lang Chain ist Vorverarbeitungskomponente
von Lang Chain
6. Modellkomponente von LangChain: In dieser Lektion werden wir
verstehen, was
die Modellkomponente von
Lang Chain ist . Lassen Sie uns sehen. Models
bezieht sich, wie der Name schon sagt, auf Ihre LLMs
, also große Sprachmodelle. Es kann auch
Ihre Einbettungsmodelle enthalten. Diese Modelle sind tatsächlich
dafür verantwortlich,
Text auf der Grundlage der erhaltenen
Eingaben zu verwalten , zu
verstehen, zu generieren
und zu transformieren Text auf der Grundlage der erhaltenen
Eingaben Sehen wir uns die Typen an, die Modelle in Lang Chin LLMs enthalten können, und sie können auch
die Einbettungsmodelle beinhalten Einige Beispiele für LLMs sind GPT-Modelle,
Metas- und Lama-Modelle Sie sind das Gehirn von
Lang-Chain-Anwendungen denen Sie
Textgenerierung,
Textzusammenfassung, Übersetzung,
Problemlösung und
vieles mehr durchführen können Textzusammenfassung, Übersetzung,
Problemlösung Problemlösung Es hat die Fähigkeit, menschenähnlichen Text zu
generieren. Es kann auch Ionen beantworten, Inhalte
zusammenfassen und andere Operationen
ausführen Dann kommen Ihre
Einbettungsmodelle. Dies wird verwendet, um Ihren Text in
numerische Darstellungen
umzuwandeln .
Das sind Einbettungen Dies wird für Aufgaben
wie dokumentierte Evaluierung und
Clustering verwendet, sodass Sie es Systemen
einfach und schnell ermöglichen können, relevante Informationen
zu finden Lassen Sie uns nun sehen, warum diese
Modelle wichtig sind. Sie liefern tatsächlich
die Intelligenz und sind das Gehirn hinter
Lang-Chin-Anwendungen. So können Aufgaben wie das
Erstellen von Inhalten, Zusammenfassen von Texten und das schnelle Beantworten
problemlos erledigt werden Durch die Kombination sowohl des LLM als auch Ihrer
Einbettungsmodelle kann
Lang Chain zum
Aufbau leistungsfähiger Systeme verwendet werden Also, Leute, wir haben gesehen, was
die Modellkomponente
in der Lang-Kette ist? die Modellkomponente
in der Lang-Kette
7. Eingabeaufforderungen-Komponente von LangChain: In dieser Lektion werden wir
verstehen, was
die Prompts-Komponente von
Lang Chain ist . Lass uns sehen Eingabeaufforderungen sind also im Grunde
die Eingabeabfragen, Anweisungen oder der Kontext, die
Sie dem LLM zur Verfügung stellen Wann immer Sie eine Aufforderung
in Chat, GPT oder Copilot eingeben, nennen wir das eine Dies dient im Grunde
als Brücke zwischen dem
Benutzer und dem LLM und ermöglicht es dem Modell tatsächlich, ermöglicht es dem Modell tatsächlich zu interpretieren und darauf
zu reagieren Welche Rolle spielen
Aufforderungen in Lang Chin? Wir alle wissen, was eine Aufforderung ist. Wir haben viele Antworten auf
Tippaufforderungen auf Copilot,
Claude AI, Chat, GPT, Gemini Aber welche Rolle spielen Eingabeaufforderungen in Lang Chin? Es leitet das
LLM tatsächlich bei der Beantwortung einer Frage oder bei der
Zusammenfassung Diese Eingabeaufforderungen können auch
einen zusätzlichen Kontext enthalten ,
z. B. den Chatverlauf, Abrufen von Dokumenten und andere ,
sodass die Relevanz
bekannt gegeben werden kann und die Antworten
der
LLMs Damit können Sie
Ihre Eingabeaufforderungen
auch an
bestimmte Aufgaben oder Domänen anpassen Ihre Eingabeaufforderungen
auch an
bestimmte Aufgaben Das macht sie sehr flexibel. Deshalb sind Eingabeaufforderungen in Lang Chain
wichtig, sie bestimmen tatsächlich, wie das LLM eine Aufgabe interpretiert und
darauf reagiert Dies hilft dabei,
genauere und
relevantere Ergebnisse zu erzielen genauere und
relevantere Ergebnisse Wenn die Proms gut gestaltet sind, kann
dies
die Leistung von
Lang-Chain-Anwendungen erheblich verbessern die Leistung von
Lang-Chain-Anwendungen Gut gestaltete Eingabeaufforderungen helfen bei
komplexen Workflows wie Rag, Chat-Boards oder anderen Also Leute, wir haben gesehen,
was Eingabeaufforderungen sind und welche Rolle die
Prompts-Komponente in der
8. Speicherkomponente von LangChain: In dieser Lektion
werden wir
die Speicherkomponente von
Lang Gin verstehen . Lass uns sehen. Wie der Name schon sagt, bezieht sich
das Gedächtnis auf die Fähigkeit, Kontext
interaktionsübergreifend zu speichern und abzurufen. Das System erinnert sich also an
frühere Eingaben, Ausgaben oder andere
relevante Informationen. Es gibt also zwei
Arten von Gedächtnis Kurzzeit- und Langzeitgedächtnis. Wie der Name schon sagt,
wird der Kontext,
wenn er für die Dauer
einer einzelnen Interaktion oder Sitzung gespeichert wird, als Kurzzeitgedächtnis bezeichnet, würde man sich nur an
den vorherigen Quotienten
eines Benutzers in einem Chatbot erinnern , sodass
der Konversationsfluss problemlos Dann kommt Ihr
Langzeitgedächtnis. Es speichert Kontext oder Daten über mehrere Sitzungen
oder Interaktionen hinweg, z. B. die historischen
Daten dessen, was ein Benutzer in
einen Chatbot eingibt in
einen Chatbot ,
sodass personalisierte
Antworten generiert werden können Dies hilft auch beim
Speichern von Benutzereinstellungen. Warum ist Speicher wichtig? Es ermöglicht problemlos mehrere
Interaktionen, sodass
das System auf
vorherige Eingaben oder Ausgaben verweisen kann. So einfach ist die Arbeit relevantere
und genauere Antworten zu geben. Wenn Sie
Konversationsagenten,
persönliche virtuelle Assistenten, entwickeln , dann ist das Gedächtnis wirklich wichtig Also, Leute, wir haben gesehen, was
die Speicherkomponente
von Lang Chin ist die Speicherkomponente
von Lang Chin Wir haben auch die Typen gesehen.
9. Kettenkomponente von LangChain: In dieser Lektion
werden wir
die Kettenkomponente
von Lang Chain verstehen die Kettenkomponente
von Lang Chain Das sind also Abfolgen
von Operationen oder Schritten, die
mehrere Komponenten kombinieren. Das ist so, als würde man
die Ausgabe
einer Komponente als
Eingabe an die nächste übergeben , sodass ein strukturierter
Workflow entsteht. Hier sind die beiden Arten von
Ketten: einfach und komplex. Wenn jeder Chip
nacheinander ausgeführt wird, spricht man von einer einfachen Kette. Das ist wie eine lineare Sequenz. Zum Beispiel eine Kette,
die
Dokumente abruft und dann eine Zusammenfassung
generiert Dann kommen Ihre komplexen Ketten. Diese sind nicht linear und
können Verzweigungen,
Schleifen oder Entscheidungsfindung beinhalten Schleifen oder Entscheidungsfindung Zum Beispiel eine Kette, die Dokumente
abruft. Ich bewerte auch die Relevanz
und generiert eine Antwort. Warum Ketten wichtig sind. Sie bieten eine strukturierte Möglichkeit , komplexe Arbeitsabläufe zu organisieren. Mit dieser Funktion können
Sie auf einfache Weise komplexe Anwendungen
erstellen. Sie ermöglichen auch Modularität und Wiederverwendbarkeit, sodass
die Entwickler Komponenten
für verschiedene Anwendungsfälle kombinieren
können Also, Leute, wir haben gesehen, was die Kettenkomponente
von Lang Chin
ist Danke, dass ihr euch das
Video angesehen habt.
10. Index-Komponente von LangChain: In dieser Lektion werden wir
verstehen, welche
Indizes Bestandteil einer
Kette sind . Lassen Sie uns sehen Wenn Sie
Daten so speichern möchten, dass effizient und
schnell abgerufen werden
können, verwenden
Sie die Indizes In ähnlicher Weise sind Indizes in Lang Chain Tools
zum Organisieren und
Speichern von Daten, die ein
effizientes Abrufen und Suchen ermöglichen Sie erleichtern das
schnelle Auffinden relevanter Informationen und dienen als strukturierter Aufbewahrungsort für
Dokumente und Hier sind die zwei Arten von
Indizes: Vektor und Dokument. Die Vektorindizes speichern
numerische Darstellungen. Das sind Einbettungen von Text. Um die semantische Suche und den Abruf auf
Ähnlichkeitsbasis
wie in einer Bibliothek zu ermöglichen, sorgt FAI für eine effiziente
Ähnlichkeitssuche bei dichten Vektoren Der zweite Typ ist Dokument. Es speichert Rohdokumente
oder Texttanks, wie z. B. eine Datenbank mit PDF-Dateien oder Artikeln, die nach dem
Titel orthotopisch indexiert Warum sind Indizes wichtig? Für Aufgaben, die auf dem Abruf basieren, sind sie sehr
wichtig und ermöglichen es Systemen, relevante Informationen schnell zu finden und zu
verwenden Diese sind wichtig für die Entwicklung effizienter und
skalierbarer Anwendungen Wenn Sie es mit großen
Datensätzen oder komplexen Abfragen zu tun haben, hilft die
Indexkomponente wirklich Leute, wir haben gesehen, was die
Indexkomponenten einer Kette sind. Wir haben auch die
Arten von Indizes gesehen.
11. Agentenkomponente von LangChain: In dieser Lektion
werden wir
die Agentenkomponente von
Lang Chain verstehen . Lassen Sie uns sehen. Agenten sind KI-gestützte
Systeme, die mithilfe LLMs entscheiden, welche
Maßnahmen ergriffen werden sollen Sie agieren als intelligente
Entscheidungsträger , die dynamisch mit Tools,
APIs oder Datenquellen
interagieren, um ein Ziel
zu erreichen Es gibt zwei
Arten von Agenten Einzelaktion und
Mehrfachaktion Der Single Action Agent führt auf der Grundlage der Eingabe
eine bestimmte Aufgabe oder
Aktion aus, wie ein Agent, der
Wetterdaten von einer APA abruft der zweiten Methode handelt es sich um mehrere Aktionen , bei denen Multi-Action-Agenten
verwendet Sie führen auf
einfache Weise
iterativ eine
Abfolge von Aktionen aus, um
komplexe Probleme zu lösen Wie ein Agent, der eine Reise plant. Was sind also die Dinge, die
benötigt werden, um eine Reise zu planen? Wie ein Agent es gewohnt ist, Flüge, Hotels
und sogar den Transport zu
buchen ,
warum sind Agenten wichtig? Sie sind wichtig, weil autonomes und intelligentes
Verhalten ermöglicht wird. Dadurch kann das System
komplexe mehrstufige Aufgaben
ohne vordefinierte
Workflows und unabhängig voneinander bewältigen komplexe mehrstufige Aufgaben . Wenn Sie Anwendungen entwickeln
, die Argumentation,
Planung oder Interaktion
mit externen Systemen erfordern , sind Agenten sehr nützlich Also Leute, wir haben gesehen, was
Agenten in Lang Chin sind. Wir haben auch die Typen gesehen. Danke, dass du dir das
Video angesehen hast.
12. LangChain mit RAG – Prozess: In dieser Lektion werden wir uns
den Prozess einer beliebigen
Kette mit RAG ansehen den Prozess einer beliebigen
Kette mit RAG Wir werden
Schritt für Schritt besprechen,
wie die Lang-Chain mit RAG
implementiert wird. Lassen Sie uns beginnen. Wir haben gerade die
Lang-Kette mit dem RAG-Workflow gesehen. Wir werden einfach dasselbe verwenden , um
die
Lang-Kette mit RAG zu implementieren. Zuerst waren es Dokumentenlader. Diese waren
für das Laden
von Daten aus verschiedenen externen
Quellen verantwortlich , z. B. Hochladen einer PDF-Datei oder mehrerer
PDFs, Datenbanken und anderen Für diesen inneren Code werden
wir also den Pi PDF Loader verwenden, um PDF-Dokumente
zu laden Dann kommen deine Textsplitter. Dabei zerlegen wir die großen Dokumente in
kleinere Teile , damit sie von LLMs verarbeitet werden
können Zu diesem Zweck haben wir den
rekursiven Textteiler verwendet, um
Dokumente in Blöcke aufzuteilen .
Dann kommen Modelle. Dies sind die LLM-Modelle
oder Einbettungsmodelle. Dafür haben wir die Klasse Hugging Phase Embeddings für
das Embedding-Modell
verwendet Hugging Phase Embeddings für
das Embedding-Modell . Dies wird verwendet, um das Einbettungsmodell einzurichten. In unserem Fall haben wir
die Satztransformatoren verwendet. Für LLM haben wir
die Pipeline-Klasse Hugging Phase verwendet die Pipeline-Klasse Hugging Phase ,
damit wir das lokale LLM
einrichten können In diesem Fall haben
wir Folgendes verwendet. Dann kommt Ihre Eingabeaufforderung. Dies sind die Eingabeaufforderungen, die für die
Interaktion mit dem LLM verwendet wurden , das
wir Zu diesem Zweck haben wir
eine benutzerdefinierte Funktion
mit dem Unterstrich qui erstellt eine benutzerdefinierte Funktion
mit dem Unterstrich qui ,
sodass sie eine Frage als
Eingabe verwendet und als Abschlussball für den Qahin fungiert Dann kommt deine Erinnerung. Dies dient zum Speichern von
Zwischendaten oder Kontexten. In dieser Implementierung haben
wir keinen Speicher verwendet, aber die
Vektor-Unterstrich-Speicher - und
Dokument-Unterstrich-Blöcke können als Teil des Speichers betrachtet
werden Ketten, das ist eine Komponente die sich auf die Reihenfolge der
Operationen bezieht Die Retrieval Qchain wird in
unserem Code verwendet , um den
Retriever und das LLM zu kombinieren Indizes, der FAI Doubles Vector Story wird Dies hilft bei der Indizierung von Dokumenten für einen effizienten Abruf. Agenten, diese Komponente bezieht sich auf die Entscheidungsinstanz , die mit dem System interagiert In unserem Code haben wir
die lokale RAC-Systemklasse verwendet , die als übergeordneter
Agent fungiert und unseren Arbeitsablauf plant Also, Leute, wir haben den Prozess gesehen. In der letzten Lektion werden
wir uns nun das
Codierungsbeispiel ansehen und
eine Lang-Kette mit
Rack-System auf Google Colab ausführen eine Lang-Kette mit
Rack-System auf Google Colab
13. LangChain mit RAG – Abschließendes Programmierbeispiel: In dieser Lektion werden wir
das letzte Codierungsbeispiel
zur Implementierung von Lang
Chain mit Rag sehen zur Implementierung von Lang
Chain mit Rag Wir werden den Code sehen und auch die Schritte in
Form von Codefragmenten
verstehen Und am Ende werden wir den Code
auch ausführen. Wir werden mehr
als ein PDF hochladen und es mit
unserer Lang-Kette
mit Rag-System
zusammenfassen . Lass uns anfangen Also hier ist unser Google Colab, wir haben ein neues Notizbuch erstellt
und hier ist unser Code Lassen Sie uns also den Code verstehen. Zuerst werden wir
die notwendigen Pakete installieren. Ich hoffe, Sie wissen, dass
wir
in Google Collab den folgenden Befehl verwenden, um eine Bibliothek oder ein
Paket aus dem
Python-Paketindex zu installieren Paket aus dem
Python-Paketindex Hier installieren wir
die notwendigen Pakete wie Anhain Sentence Der Code importiert dann verschiedene
Module und Klassen aus diesen Paketen wie hier, okay Die importierten Module ermöglichen Funktionen
wie Textaufteilung, Laden von
Dokumenten, Einbetten
und Sprachmodell Lassen Sie uns nun in Schritt zwei die Protokollierung
hier einrichten. Dieser Code wird verwendet, um
das Logging-Modul in Python zu konfigurieren . Die erste Zeile hier legt die Grundkonfiguration
für das Logging-Modul fest. Die folgende Zeile erstellt
eine Logger-Instanz. Der G-Logger gibt
eine Logger-Instanz zurück. Hier
ist das Folgende eine eingebaute Python-Variable, die
den Namen des aktuellen Moduls enthält . In der ersten Zeile
wird diese Funktion verwendet, um
das Logging-Modul zu konfigurieren. Im Folgenden wird die
Protokollierungsebene auf info gesetzt. Das bedeutet, dass alle
Protokollnachrichten mit einer
Informationsstufe oder höher verarbeitet
werden. Jetzt werden wir eine Klasse erstellen die ein lokales Rag-System repräsentiert. Lassen Sie uns nun
das lokale
Rag-Systemobjekt mit Hilfe von Okay initialisieren das lokale
Rag-Systemobjekt mit Hilfe von Okay Hier die Dokumente, betrachte es als eine Liste zum Speichern
der geladenen Dokumente Vector Underscore Store speichert
die eingebetteten Dokumente. Jetzt laden wir das PDF vom
lokalen Computer nach Collab hoch. Die folgenden Funktionsdateien werden dafür verwendet. Der
Punkt-Upload wird verwendet. Die hochgeladenen Dateinamen
werden protokolliert und zurückgegeben. Alle Ausnahmen beim Upload werden abgefangen, protokolliert und gelöscht Okay, die Methode ist Teil einer Klasse und verwendet einen
Logger zum Protokollieren von Nachrichten Es gibt eine Liste zurück, die eine
Liste von hochgeladenen PDF-Pfaden ist. Dann kommt Ihre Funktion zum Laden von
Unterstrich-Dokumenten. Dadurch werden die PDF-Dokumente geladen und
analysiert. Es definiert eine Methode
zum Laden von
Unterstrich-Dokumenten , um PDF-Dokumente
aus bestimmten Dateipfaden zu laden und Der folgende Befehl durchsucht jeden PDF-Dateipfad und versucht, das Dokument
mit dem Pi PDF Loader
zu laden , und fügt
die geladenen Seiten an die
Self-Punkt-Dokumentenliste an Alle Ausnahmen beim
Laden werden
protokolliert und die Methode
fährt mit der nächsten Datei fort Die Anzahl der geladenen Seiten für jede Datei und die
Gesamtzahl der Seiten werden protokolliert. Die Methode aktualisiert die Liste der
Self-Punkt-Dokumente mit den geladenen Dokumentseiten. Nun der nächste Schritt, um
Dokumente in Blöcke aufzuteilen. Diese Methode teilt
geladene Dokumente mithilfe eines rekursiv
korrigierten
Textteilers in Blöcke Der Splitter unterteilt die
Dokumente in Blöcke, die in Unterstrichblöcken mit Self-Punkt-Unterstrichen gespeichert werden Das ist hier. Es benötigt optionale Parameter, Größe der
Unterstriche und die Überlappung der Unterstriche in
Abschnitten. Die Standardeinstellung ist 1.000 und die
Standardeinstellung dafür ist 200. Die Anzahl der
erstellten Chunks wird protokolliert. Richten Sie im nächsten Schritt
das Einbettungsmodell ein. Dieser Code richtet das Einbettungsmodell mithilfe von
Hugging Es benötigt ein optionales Modell, einen
Unterstrich-Name-Parameter. Das gewählte Modell
wird verwendet, um
eine Instanz für Einbettungen von umarmen
Gesichtern zu erstellen eine Instanz für Einbettungen von umarmen
Gesichtern Der Einrichtungsvorgang wird protokolliert,
einschließlich des Modellnamens. Alle Ausnahmen während der Einrichtung
werden protokolliert und gelöscht. Im nächsten Schritt
im nächsten Schritt erstellen
wir dann einen Vektorspeicher
aus den Dokumentenblöcken Dieser Code erstellt mithilfe der FAI einen Vektorspeicher aus Dokumentenblöcken . Er verwendet
das zuvor eingerichtete
Einbettungsmodell, um Vektoren aus
den Dokumentenblöcken zu generieren, und
fs dot from Underscore Documents erstellt
den fs dot from zuvor eingerichtete
Einbettungsmodell, um Vektoren aus
den Dokumentenblöcken
zu generieren, und
fs dot from Underscore Documents erstellt
den Vektorspeicher. Der Erstellungsprozess
wird protokolliert und
alle Ausnahmen werden protokolliert und gelöscht. Im nächsten Schritt werden wir
mit Hugging
Face ein lokales LLM einrichten mit Hugging
Face ein lokales LLM Dieser Code richtet
mithilfe von Hugging Face-Transformatoren ein lokales Modell in großer Sprache mithilfe von Hugging Es lädt ein vorab trainiertes Modell und Tokenizer unter Verwendung der angegebenen dem
Tokenizer
wird eine Pipeline zur Text-zu-Text-Generierung Mit dem geladenen
Modell und dem
Tokenizer
wird eine Pipeline zur Text-zu-Text-Generierung erstellt Die Pipeline wird in
eine Pipeline-Instanz eingebettet
und in
Self Dot LLM gespeichert Der Einrichtungsprozess wird in allen Ausnahmen
protokolliert, der Einrichtungsprozess wird protokolliert und alle Ausnahmen werden abgefangen,
protokolliert Lassen Sie uns nun
mithilfe des Vektorspeichers und des LM ein Qchin erstellen. Dieser Code richtet eine QA ein, bei der es sich um
eine Quotientenantwortkette handelt eine Quotientenantwortkette die den Vektorspeicher und das LLM
verwendet Es erstellt eine
Q-Abruf-Instanz mit dem angegebenen Element und dem
Vektorspeicher Der Retriever ist so konfiguriert
, dass er die besten K-Ergebnisse zurückgibt. Der Qin-Setup-Prozess ist mit dem Wert
K
gesperrt . Alle Ausnahmen während des Setups
werden gesperrt und erneut ausgelöst. Jetzt werden wir eine Frage
mit dem AC-System beantworten. Der folgende Code definiert eine Methode zur Beantwortung von Fragen
mithilfe eines AC-Systems. Es verwendet einen Quotienten
als Eingabe und verwendet die QA-Unterstrichkette, um eine Antwort
zu generieren Der Quotient und die Antwort werden zu Nachverfolgungszwecken
protokolliert Die Antwort wird
von der Methode zurückgegeben. Alle Ausnahmen während
des Antwortvorgangs werden abgefangen, protokolliert und gelöscht Lassen Sie uns nun den
kompletten Einrichtungsprozess ausführen. Okay. Dieser Code
definiert eine Methode, führe Underscore Setup aus, um den kompletten
Einrichtungsprozess für ein RAG-System
auszuführen Er ruft
nacheinander verschiedene Methoden auf, um PDFs hochzuladen, Dokumente zu
laden, Dokumente aufzuteilen, Einbettungen
einzurichten, einen Vektorspeicher zu
erstellen, ein lokales LLM
einzurichten
und ein und Diese Methode verwendet
optionale Parameter, um Der Abschluss des
Einrichtungsvorgangs wird protokolliert. Alle Ausnahmen während der Einrichtung werden abgefangen, protokolliert und erneut gemeldet. Nun, hier ist das Anwendungsbeispiel. Dadurch wird eine Instanz
des lokalen Rag-Systems erstellt und dessen Einrichtungsprozess
ausgeführt. Der Einrichtungsprozess
konfiguriert das System mit bestimmten Parametern wie Chunk-Größe und Sprachmodell Nach dem Setup stellt der
Code zwei Fragen. Der erste ist hier
und der zweite ist hier und druckt die Antwort aus. Die Fragen zeigen, dass
das System in der Lage ist, das Hauptthema zu verstehen und wichtigsten Punkte
aus den Dokumenten
zusammenzufassen Die Antworten werden erfolgreich mit dem Rag-System
generiert Also hier, was ich tun werde. Ich führe einfach den kompletten Code aus. Sie können hier auch
Laufzeit
auswählen, Laufzeittyp ändern und T für
GPU auswählen und auf Speichern klicken. Jetzt führe ich es aus. Lass uns warten. Lassen Sie uns jetzt hier
die Dokumente hochladen .
Klicken Sie auf „Dateien auswählen“. Nehmen wir an, ich lade
Amidt-PDF und
Python-Zertifizierung hoch. Ich klicke auf Öffnen. Jetzt haben wir zwei Dokumente
hochgeladen. Es wird jetzt das Ergebnis extrahieren. Es zeigt
die Hauptthemen und fasst die wichtigsten Punkte aus
den Dokumenten zusammen. Also bei diesen Jungs können wir mit Lang Chin
arbeiten. Wir haben Lang Chin mit
Rag als Beispiel gesehen .
Danke fürs Zuschauen.