Wie füge ich Speicher zum OpenAI Functions Agent in LangChain hinzu?

Wie Fuge Ich Speicher Zum Openai Functions Agent In Langchain Hinzu



LangChain ist das Framework, das Abhängigkeiten zum Erstellen der Large Language Models oder LLMs enthält. Es stellt außerdem die Tools zum Erstellen der Agenten bereit, um alle Zwischenschritte vom Einholen der Anfrage des Benutzers bis zum Abrufen der Antwort auszuführen. OpenAI ist eine Umgebung, die mithilfe von lesbare und strukturierte Ausgaben aus dem Internet bereitstellt „Google-Suchergebnisse“ Modul.

Kurzer Überblick

In diesem Beitrag wird Folgendes demonstriert:

Wie füge ich Speicher zum OpenAI Functions Agent in LangChain hinzu?

OpenAI ist eine Organisation für künstliche Intelligenz (KI), die 2015 gegründet wurde und zunächst eine gemeinnützige Organisation war. Microsoft investiert seit 2020 viel Vermögen, da die Verarbeitung natürlicher Sprache (NLP) mit KI mit Chatbots und Sprachmodellen boomt.







Durch die Entwicklung von OpenAI-Agenten können Entwickler besser lesbare und präzisere Ergebnisse aus dem Internet erhalten. Durch die Erweiterung des Speichers können die Agenten den Kontext des Chats besser verstehen und auch die vorherigen Gespräche in ihrem Gedächtnis speichern. Um den Vorgang des Hinzufügens von Speicher zum OpenAI-Funktionsagenten in LangChain zu erlernen, führen Sie einfach die folgenden Schritte aus:



Schritt 1: Frameworks installieren

Installieren Sie zunächst die LangChain-Abhängigkeiten von „langchain-experimentell“ Framework mit dem folgenden Code:



pip langchain installieren - Experimental-





Installiere das „Google-Suchergebnisse“ Modul zum Abrufen der Suchergebnisse vom Google-Server:

Pip Google installieren - suchen - Ergebnisse



Installieren Sie außerdem das OpenAI-Modul, das zum Erstellen der Sprachmodelle in LangChain verwendet werden kann:

pip openai installieren

Schritt 2: Umgebungen einrichten

Nachdem Sie die Module erhalten haben, richten Sie die Umgebungen mithilfe der API-Schlüssel von ein OpenAI Und SerpAPi Konten:

importieren Du
importieren getpass

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

Führen Sie den obigen Code aus, um die API-Schlüssel für den Zugriff auf die Umgebung einzugeben, und drücken Sie zur Bestätigung die Eingabetaste:

Schritt 3: Bibliotheken importieren

Nachdem die Einrichtung nun abgeschlossen ist, verwenden Sie die von LangChain installierten Abhängigkeiten, um die erforderlichen Bibliotheken zum Aufbau des Speichers und der Agenten zu importieren:

von langchain. Ketten importieren LLMMathChain
von langchain. lms importieren OpenAI
#get-Bibliothek zur Suche von Google über das Internet
von langchain. Dienstprogramme importieren SerpAPIWrapper
von langchain. Dienstprogramme importieren SQLDatenbank
von langchain_experimental. sql importieren SQLDatabaseChain
#get-Bibliothek zum Erstellen von Tools für Initialisierung des Agenten
von langchain. Agenten importieren AgentType , Werkzeug , initialize_agent
von langchain. chat_models importieren ChatOpenAI

Schritt 4: Datenbank erstellen

Um mit diesem Leitfaden fortzufahren, müssen wir die Datenbank erstellen und eine Verbindung zum Agenten herstellen, um daraus Antworten zu extrahieren. Um die Datenbank zu erstellen, ist es erforderlich, SQLite herunterzuladen Führung und bestätigen Sie die Installation mit dem folgenden Befehl:

sqlite3

Führen Sie den obigen Befehl im aus Windows-Terminal zeigt die installierte Version von SQLite an (3.43.2):

Gehen Sie danach einfach in das Verzeichnis auf Ihrem Computer, in dem die Datenbank erstellt und gespeichert wird:

cd-Desktop
cd mydb
sqlite3 Chinook. db

Von dort kann der Nutzer einfach den Inhalt der Datenbank herunterladen Verknüpfung im Verzeichnis und führen Sie den folgenden Befehl aus, um die Datenbank zu erstellen:

. lesen Chinook_Sqlite. sql
WÄHLEN * AB Künstlerlimit 10 ;

Die Datenbank wurde erfolgreich erstellt und der Benutzer kann mit verschiedenen Abfragen nach Daten darin suchen:

Schritt 5: Datenbank hochladen

Sobald die Datenbank erfolgreich erstellt wurde, laden Sie sie hoch „.db“ Datei mit dem folgenden Code an das Google Collaboratory senden:

von Google. ET AL importieren Dateien
hochgeladen = Dateien. hochladen ( )

Wählen Sie die Datei aus dem lokalen System aus, indem Sie auf klicken 'Wähle Dateien' Schaltfläche nach der Ausführung des obigen Codes:

Sobald die Datei hochgeladen ist, kopieren Sie einfach den Pfad der Datei, der im nächsten Schritt verwendet wird:

Schritt 6: Sprachmodell konfigurieren

Erstellen Sie das Sprachmodell, die Ketten, Tools und Ketten mit dem folgenden Code:

llm = ChatOpenAI ( Temperatur = 0 , Modell = „gpt-3.5-turbo-0613“ )
suchen = SerpAPIWrapper ( )
llm_math_chain = LLMMathChain. from_llm ( llm = llm , ausführlich = WAHR )
db = SQLDatenbank. from_uri ( „sqlite:///../../../../../content/Chinook.db“ )
db_chain = SQLDatabaseChain. from_llm ( llm , db , ausführlich = WAHR )
Werkzeuge = [
Werkzeug (
Name = 'Suchen' ,
Funktion = suchen. laufen ,
Beschreibung = „Stellen Sie gezielte Fragen, um Antworten auf Fragen zu aktuellen Ereignissen zu erhalten.“ ,
) ,
Werkzeug (
Name = 'Taschenrechner' ,
Funktion = llm_math_chain. laufen ,
Beschreibung = „nützlich für die Beantwortung/Lösung mathematischer Probleme“ ,
) ,
Werkzeug (
Name = „FooBar-DB“ ,
Funktion = db_chain. laufen ,
Beschreibung = „nützlich für die Beantwortung von Fragen zu FooBar und die Eingabe sollte in Form einer Frage erfolgen, die den vollständigen Kontext enthält.“ ,
) ,
]
  • Der llm Die Variable enthält die Konfigurationen des Sprachmodells unter Verwendung der ChatOpenAI()-Methode mit dem Namen des Modells.
  • Die Suche Die Variable enthält die Methode SerpAPIWrapper() zum Erstellen der Tools für den Agenten.
  • Bauen Sie die llm_math_chain um die Antworten im Zusammenhang mit der Mathematikdomäne mithilfe der LLMMathChain()-Methode zu erhalten.
  • Die Datenbankvariable enthält den Pfad der Datei, die den Inhalt der Datenbank enthält. Der Benutzer muss nur den letzten Teil ändern „content/Chinook.db“ des Weges, der die hält „sqlite:///../../../../../“ das gleiche.
  • Erstellen Sie eine weitere Kette zum Beantworten von Abfragen aus der Datenbank mithilfe von db_chain Variable.
  • Konfigurieren Sie Tools wie suchen , Taschenrechner , Und FooBar-DB zum Suchen der Antwort, Beantworten mathematischer Fragen bzw. Abfragen aus der Datenbank:

Schritt 7: Speicher hinzufügen

Nachdem Sie die OpenAI-Funktionen konfiguriert haben, erstellen Sie einfach den Speicher und fügen Sie ihn dem Agenten hinzu:

von langchain. Aufforderungen importieren NachrichtenPlatzhalter
von langchain. Erinnerung importieren ConversationBufferMemory

agent_kwargs = {
„extra_prompt_messages“ : [ NachrichtenPlatzhalter ( Variablennamen = 'Erinnerung' ) ] ,
}
Erinnerung = ConversationBufferMemory ( Speicherschlüssel = 'Erinnerung' , return_messages = WAHR )

Schritt 8: Initialisieren des Agenten

Die letzte Komponente, die erstellt und initialisiert werden muss, ist der Agent, der alle Komponenten enthält llm , Werkzeug , OPENAI_FUNCTIONS und andere, die in diesem Prozess verwendet werden sollen:

Agent = initialize_agent (
Werkzeuge ,
llm ,
Agent = AgentType. OPENAI_FUNCTIONS ,
ausführlich = WAHR ,
agent_kwargs = agent_kwargs ,
Erinnerung = Erinnerung ,
)

Schritt 9: Testen des Agenten

Testen Sie abschließend den Agenten, indem Sie den Chat mit dem Befehl „ Hi ' Nachricht:

Agent. laufen ( 'Hi' )

Fügen Sie dem Speicher einige Informationen hinzu, indem Sie den Agenten damit ausführen:

Agent. laufen ( „Mein Name ist John Snow“ )

Testen Sie nun das Gedächtnis, indem Sie die Frage zum vorherigen Chat stellen:

Agent. laufen ( 'was ist mein Name' )

Der Agent hat mit dem aus dem Speicher abgerufenen Namen geantwortet, sodass der Speicher erfolgreich mit dem Agent ausgeführt wird:

Das ist alles für den Moment.

Abschluss

Um den Speicher zum OpenAI-Funktionsagenten in LangChain hinzuzufügen, installieren Sie die Module, um die Abhängigkeiten für den Import der Bibliotheken zu erhalten. Anschließend erstellen Sie einfach die Datenbank und laden sie in das Python-Notizbuch hoch, damit sie mit dem Modell verwendet werden kann. Konfigurieren Sie das Modell, die Tools, die Ketten und die Datenbank, bevor Sie sie dem Agenten hinzufügen und initialisieren. Erstellen Sie vor dem Testen des Speichers den Speicher mit ConversationalBufferMemory() und fügen Sie ihn dem Agenten hinzu, bevor Sie ihn testen. In dieser Anleitung wurde erläutert, wie Sie dem OpenAI-Funktionsagenten in LangChain Speicher hinzufügen.