Wie verwende ich den Konversationszusammenfassungspuffer in LangChain?

Wie Verwende Ich Den Konversationszusammenfassungspuffer In Langchain



LangChain ist das Framework mit allen Abhängigkeiten und Bibliotheken zum Erstellen von Modellen, die Datensätze in natürlichen Sprachen verstehen können. Diese Modelle können auch Texte in natürlichen Sprachen generieren oder die ähnlichsten Daten basierend auf den Eingaben des Benutzers extrahieren. Chatbots oder LLMs werden verwendet, um Gespräche mit Menschen aufzubauen und anhand aller Nachrichten eine Zusammenfassung des Gesprächs zu extrahieren.

In dieser Anleitung wird der Prozess der Verwendung eines Konversationszusammenfassungspuffers in LangChain veranschaulicht.

Wie verwende ich einen Konversationszusammenfassungspuffer in LangChain?

Eine Konversation kann aus mehreren Nachrichten bestehen, die einer Interaktion zwischen Mensch und Maschine ähneln, und der Puffer kann die neuesten Nachrichten speichern. Der ConversationSummaryBufferMemory Die Bibliothek wird verwendet, um beide Konzepte zu kombinieren, z. B. das Speichern der neuesten Nachrichten und das Extrahieren ihrer Zusammenfassung.







Um den Prozess der Verwendung des Konversationszusammenfassungspuffers in LangChain zu erlernen, gehen Sie einfach die folgende Anleitung durch:



Schritt 1: Module installieren

Installieren Sie zunächst das LangChain-Modul mit dem Befehl pip, um die erforderlichen Bibliotheken zu erhalten:



pip langchain installieren





Installieren Sie den Tiktoken-Tokenizer, mit dem Sie die Textdokumente in kleine Stücke aufteilen können:

pip tiktoken installieren



Anschließend installieren Sie die OpenAI-Module, die zum Erstellen der Sprachmodelle wie LLMs und Ketten verwendet werden können:

pip openai installieren

Jetzt, Umgebung einrichten indem Sie den API-Schlüssel vom OpenAI-Konto abrufen und im Modell verwenden:

importieren Du
importieren getpass

Du . etwa [ „OPENAI_API_KEY“ ] = getpass . getpass ( „OpenAI-API-Schlüssel:“ )

Schritt 2: Verwenden des Konversationszusammenfassungspuffers

Starten Sie den Prozess der Verwendung des Konversationszusammenfassungspuffers, indem Sie die Bibliotheken importieren, um das LLM mithilfe der OpenAI()-Methode zu erstellen:

aus langchain. Erinnerung importieren ConversationSummaryBufferMemory

aus langchain. lms importieren OpenAI

llm = OpenAI ( )

Erstellen Sie den Speicher mit der Methode ConversationSummaryBufferMemory() und speichern Sie dann die Konversation im Speicher:

Erinnerung = ConversationSummaryBufferMemory ( llm = llm , max_token_limit = 10 )

Erinnerung. save_context ( { 'Eingang' : 'Hallo' } , { 'Ausgabe' : 'Wie geht es dir' } )

Erinnerung. save_context ( { 'Eingang' : 'Mir geht es gut und dir' } , { 'Ausgabe' : 'nicht viel' } )

Führen Sie nun den Speicher aus, indem Sie den aufrufen Load_memory_variables ()-Methode zum Extrahieren von Nachrichten aus dem Speicher:

Erinnerung. Load_memory_variables ( { } )

Verwenden Sie nun die Pufferzusammenfassung der Konversation, um den Puffer zu konfigurieren, indem Sie die Anzahl der im Puffer zu speichernden Nachrichten begrenzen. Extrahieren Sie anschließend die Zusammenfassung dieser im Puffer gespeicherten Nachrichten und speichern Sie die Konversation dann im Speicher:

Erinnerung = ConversationSummaryBufferMemory (

llm = llm , max_token_limit = 10 , return_messages = WAHR

)

Erinnerung. save_context ( { 'Eingang' : 'Hallo' } , { 'Ausgabe' : 'Wie geht es dir' } )

Erinnerung. save_context ( { 'Eingang' : 'Mir geht es gut und dir' } , { 'Ausgabe' : 'nicht viel' } )

Rufen Sie mit dem folgenden Code die Zusammenfassung der vorherigen im Pufferspeicher gespeicherten Nachrichten ab:

Mitteilungen = Erinnerung. chat_memory . Mitteilungen

previous_summary = „“

Erinnerung. Vorhersage_neue_Zusammenfassung ( Mitteilungen , previous_summary )

Schritt 3: Verwenden des Konversationszusammenfassungspuffers in einer Kette

Bauen Sie die Ketten mit dem auf ConversationChain() Methode, die den Wert für den Pufferspeicher enthält, um die Nachricht darin zu speichern:

aus langchain. Ketten importieren Konversationskette

Konversation_mit_Zusammenfassung = Konversationskette (
llm = llm ,
Erinnerung = ConversationSummaryBufferMemory ( llm = OpenAI ( ) , max_token_limit = 40 ) ,
ausführlich = WAHR ,
)
Konversation_mit_Zusammenfassung. vorhersagen ( Eingang = 'Hi was geht?' )

Geben Sie die Eingabe in Form des Textes mit der Methode „predict()“ ein, um die Zusammenfassung der Konversation zu erhalten:

Konversation_mit_Zusammenfassung. vorhersagen ( Eingang = „Ich arbeite gerade am NLP-Projekt“ )

Verwenden Sie die Ausgabe des Modells, fügen Sie mithilfe der Nachrichten im Pufferspeicher weitere Daten hinzu und zeigen Sie die Zusammenfassung an:

Konversation_mit_Zusammenfassung. vorhersagen ( Eingang = „Ja, das ist es! Ich arbeite an der Gestaltung von LLMs.“ )

Die Zusammenfassung ist, dass die Ausgabe leicht verständlich und benutzerfreundlicher ist und besser für Chatbots geeignet ist:

Konversation_mit_Zusammenfassung. vorhersagen (

Eingang = „Ich möchte LangChain nutzen! Haben Sie schon davon gehört?“

)

Dabei geht es um die Verwendung des Konversationszusammenfassungspuffers in LangChain.

Abschluss

Um den Konversationszusammenfassungspufferspeicher in LangChain zu nutzen, installieren Sie einfach die Module oder Frameworks, um die erforderlichen Bibliotheken zu erhalten. Sobald die Bibliotheken importiert sind, erstellen Sie die LLMs oder Chatbots, um die ConverstaionSummaryBufferMemory()-Funktion zu verwenden, um die Zusammenfassung der Konversation abzurufen. Der Pufferspeicher wird verwendet, um die Anzahl der im Speicher gespeicherten Nachrichten zu begrenzen, die zum Extrahieren der Zusammenfassung verwendet werden sollen. In diesem Beitrag wurde der Prozess der Verwendung des Konversationszusammenfassungspufferspeichers in LangChain näher erläutert.