Kurzer Überblick
In diesem Beitrag wird Folgendes demonstriert:
Was sind Agenten in der Verarbeitung natürlicher Sprache (NLP)?
Erste Schritte mit Agenten in LangChain
- Frameworks installieren
- Chat-Modell konfigurieren
- Baumakler
- Aufruf des Agenten
- Konfigurieren Sie die Agent-Tools
- Testen des Agenten
Was sind Agenten in der Verarbeitung natürlicher Sprache (NLP)?
Agenten sind die wesentlichen Komponenten der Anwendung natürlicher Sprache und nutzen das Natural Language Understanding (NLU), um Abfragen zu verstehen. Bei diesen Agenten handelt es sich um Programme, die wie eine Konversationsvorlage für die Interaktion mit Menschen anhand der Abfolge von Aufgaben fungieren. Agenten verwenden mehrere Tools, die vom Agenten aufgerufen werden können, um mehrere Aktionen auszuführen oder die nächste auszuführende Aufgabe anzugeben.
Erste Schritte mit Agenten in LangChain
Beginnen Sie mit dem Aufbau der Agenten für eine Konversation mit Menschen, indem Sie die Ausgabe mithilfe der Agenten in LangChain extrahieren. Um den Einstiegsprozess mit den Agenten in LangChain zu erfahren, befolgen Sie einfach die unten aufgeführten Schritte:
Schritt 1: Frameworks installieren
Beginnen Sie zunächst mit der Installation des LangChain-Frameworks mithilfe der „ Pip ”-Befehl, um die erforderlichen Abhängigkeiten für die Verwendung von Agenten abzurufen:
pip langchain installieren
Installieren Sie das OpenAI-Modul zum Aufbau des LLM und konfigurieren Sie damit die Agenten in LangChain:
pip openai installieren
Richten Sie die Umgebung ein für das OpenAI-Modul mithilfe seines API-Schlüssels aus dem Konto, indem Sie den folgenden Code ausführen:
importieren Duimportieren getpass
Du . etwa [ „OPENAI_API_KEY“ ] = getpass . getpass ( „OpenAI-API-Schlüssel:“ )
Schritt 2: Chat-Modell konfigurieren
Importieren Sie das ChatOpenAI-Modul aus LangChain, um das LLM mithilfe seiner Funktion zu erstellen:
aus langchain. chat_models importieren ChatOpenAIllm = ChatOpenAI ( Temperatur = 0 )
Importieren Sie Tools für den Agenten, um die vom Agenten auszuführenden Aufgaben oder Aktionen zu konfigurieren. Der folgende Code verwendet die Methode get_word_length(), um die Länge des vom Benutzer bereitgestellten Wortes abzurufen:
aus langchain. Agenten importieren Werkzeug@ Werkzeug
def get_word_length ( Wort: str ) - > int :
„Die Länge des Wortes ermitteln“
zurückkehren nur ( Wort )
Werkzeuge = [ get_word_length ]
Konfigurieren Sie die Vorlage oder Struktur für das Chat-Modell, um eine Schnittstelle für einen Chat zu erstellen:
aus langchain. Aufforderungen importieren ChatPromptTemplate , NachrichtenPlatzhalterprompt = ChatPromptTemplate. from_messages ( [
( 'System' , „Ihr Assistent ist ganz erstaunlich, muss aber bei der Berechnung von Längen verbessert werden.“ ) ,
( 'Benutzer' , '{Eingang}' ) ,
NachrichtenPlatzhalter ( Variablennamen = „agent_scratchpad“ ) ,
] )
Schritt 3: Baustoff
Importieren Sie die Werkzeugbibliothek zum Erstellen des LLM mit Werkzeugen unter Verwendung der OpenAI-Funktionen aus dem LangChain-Modul:
aus langchain. Werkzeuge . machen importieren format_tool_to_openai_functionllm_with_tools = llm. binden (
Funktionen = [ format_tool_to_openai_function ( T ) für T In Werkzeuge ]
)
Konfigurieren Sie den Agenten mithilfe des OpenAI-Funktionsagenten, um den Ausgabeparser zum Festlegen der Aktions-/Aufgabensequenzen zu verwenden:
aus langchain. Agenten . format_scratchpad importieren format_to_openai_functionsaus langchain. Agenten . Ausgabeparser importieren OpenAIFunctionsAgentOutputParser
Agent = {
'Eingang' : Lambda x: x [ 'Eingang' ] ,
„agent_scratchpad“ : Lambda x: format_to_openai_functions ( X [ 'intermediate_steps' ] )
} | Eingabeaufforderung | llm_with_tools | OpenAIFunctionsAgentOutputParser ( )
Schritt 4: Aufrufen des Agenten
Im nächsten Schritt wird die Funktion invoke() verwendet, um den Agenten mithilfe der Argumente „input“ und „intermediate_steps“ aufzurufen:
Agent. aufrufen ( {'Eingang' : „Wie viele Buchstaben hat das Wort gut?“ ,
„intermediate_steps“ : [ ]
} )
Schritt 5: Konfigurieren Sie die Agent-Tools
Anschließend importieren Sie einfach die AgentFinish-Bibliothek, um die „intermediate_steps“ zu konfigurieren, indem Sie alle Schritte in einer Reihenfolge integrieren, um die Aktivität abzuschließen:
aus langchain. Schema . Agent importieren AgentFinishZwischenschritte = [ ]
während WAHR :
Ausgabe = Agent. aufrufen ( {
'Eingang' : „Briefe in gutem Zustand“ ,
„intermediate_steps“ : middle_steps
} )
Wenn ist eine Instanz ( Ausgabe , AgentFinish ) :
Endergebnis = Ausgabe. return_values [ 'Ausgabe' ]
brechen
anders :
drucken ( Ausgabe. Werkzeug , Ausgabe. tool_input )
Werkzeug = {
„get_word_length“ : get_word_length
} [ Ausgabe. Werkzeug ]
Überwachung = Werkzeug. laufen ( Ausgabe. tool_input )
Zwischenschritte. anhängen ( ( Ausgabe , Überwachung ) )
drucken ( Endergebnis )
Schritt 6: Testen des Agenten
Führen Sie nun den Agenten aus, indem Sie die Methode AgentExecutor() aufrufen, nachdem Sie seine Bibliothek aus LangChain importiert haben:
aus langchain. Agenten importieren AgentExecutoragent_executor = AgentExecutor ( Agent = Agent , Werkzeuge = Werkzeuge , ausführlich = WAHR )
Rufen Sie am Ende den agent_executor mit dem Eingabeargument auf, um die Abfrage für den Agenten einzugeben:
agent_executor. aufrufen ( { 'Eingang' : „Wie viele Buchstaben hat das Wort gut?“ } )Der Agent hat nach Abschluss der Kette die Antwort auf die im Eingabeargument bereitgestellte Frage angezeigt:
Hier geht es um den Einstieg in die Agenten im LangChain-Framework.
Abschluss
Um mit den Agenten in LangChain zu beginnen, installieren Sie einfach die Module, die zum Einrichten der Umgebung mithilfe des OpenAI-API-Schlüssels erforderlich sind. Anschließend konfigurieren Sie das Chat-Modell, indem Sie die Eingabeaufforderungsvorlage zum Erstellen des Agenten mit der Abfolge der Zwischenschritte festlegen. Sobald der Agent konfiguriert ist, erstellen Sie einfach die Tools, indem Sie die Aufgaben angeben, nachdem Sie dem Benutzer die Eingabezeichenfolge gegeben haben. Dieser Blog hat den Prozess der Verwendung der Agenten in LangChain demonstriert.