Kurzer Überblick
In diesem Beitrag wird Folgendes demonstriert:
So implementieren Sie die Self-Ask mit Suchkette
- Frameworks installieren
- Gebäudeumgebung
- Bibliotheken importieren
- Aufbau von Sprachmodellen
- Verwendung der LangChain-Ausdruckssprache
- Agent Executor konfigurieren
- Ausführen des Agenten
- Verwenden des Self-Ask-Agenten
Wie implementiert man die Selbstfrage mit Suchkette?
Self-Ask ist der Prozess zur Verbesserung des Verkettungsprozesses, da die Befehle gründlich verstanden werden. Die Ketten verstehen die Frage, indem sie die Daten zu allen wichtigen Begriffen aus dem Datensatz extrahieren. Sobald das Modell trainiert ist und die Anfrage versteht, generiert es die Antwort auf die vom Benutzer gestellte Anfrage.
Um den Prozess der Implementierung der Selbstfrage mit den Suchketten in LangChain zu erfahren, gehen Sie einfach die folgende Anleitung durch:
Schritt 1: Frameworks installieren
Starten Sie zunächst den Prozess, indem Sie den LangChain-Prozess mit dem folgenden Code installieren und alle Abhängigkeiten für den Prozess abrufen:
pip langchain installieren
Installieren Sie nach der Installation von LangChain das „ Google-Suchergebnisse ” um die Suchergebnisse von Google mithilfe der OpenAI-Umgebung abzurufen:
pip install openai google-search-results
Schritt 2: Gebäudeumgebung
Sobald die Module und Frameworks installiert sind, richten Sie die Umgebung dafür ein OpenAI Und SerpAPi Verwenden ihrer APIs mithilfe des folgenden Codes. Importieren Sie die OS- und GetPass-Bibliotheken, die zum Eingeben der API-Schlüssel aus ihren jeweiligen Konten verwendet werden können:
importieren Duimportieren getpass
Du . etwa [ „OPENAI_API_KEY“ ] = getpass . getpass ( „OpenAI-API-Schlüssel:“ )
Du . etwa [ „SERPAPI_API_KEY“ ] = getpass . getpass ( „Serpapi-API-Schlüssel:“ )
Schritt 3: Bibliotheken importieren
Nachdem Sie die Umgebung eingerichtet haben, importieren Sie einfach die erforderlichen Bibliotheken aus den LangChain-Abhängigkeiten wie Dienstprogramme, Agenten, LLM und andere:
aus langchain. lms importieren OpenAIaus langchain. Dienstprogramme importieren SerpAPIWrapper
aus langchain. Agenten . Ausgabeparser importieren SelfAskOutputParser
aus langchain. Agenten . format_scratchpad importieren format_log_to_str
aus langchain importieren Nabe
aus langchain. Agenten importieren initialize_agent , Werkzeug
aus langchain. Agenten importieren AgentType
Schritt 4: Sprachmodelle erstellen
Während des gesamten Prozesses ist der Zugriff auf die oben genannten Bibliotheken erforderlich, da OpenAI() zum Konfigurieren des Sprachmodells verwendet wird. Verwenden Sie die Methode SerpAPIWrapper(), um die Suchvariable zu konfigurieren und die Tools festzulegen, die der Agent zur Ausführung aller Aufgaben benötigt:
llm = OpenAI ( Temperatur = 0 )suchen = SerpAPIWrapper ( )
Werkzeuge = [
Werkzeug (
Name = „Zwischenantwort“ ,
Funktion = suchen. laufen ,
Beschreibung = „nützlich, wenn Sie mit der Suche nachfragen müssen“ ,
)
]
Schritt 5: Verwenden der LangChain Expression Language
Erste Schritte mit der Konfiguration des Agenten mithilfe der LangChain Expression Language (LCEL) durch Laden des Modells in die Eingabeaufforderungsvariable:
prompt = Nabe. ziehen ( „hwchase17/self-ask-with-search“ )Definieren Sie eine weitere Variable, die ausgeführt werden kann, um die Textgenerierung zu stoppen und die Länge der Antworten zu steuern:
llm_with_stop = llm. binden ( stoppen = [ ' \N Zwischenantwort:' ] )Konfigurieren Sie nun die Agenten mit Lambda, einer ereignisgesteuerten, serverlosen Plattform, um die Antworten auf die Fragen zu generieren. Konfigurieren Sie außerdem die Schritte, die zum Trainieren und Testen des Modells erforderlich sind, um mithilfe der zuvor konfigurierten Komponenten optimale Ergebnisse zu erzielen:
Agent = {'Eingang' : Lambda x: x [ 'Eingang' ] ,
„agent_scratchpad“ : Lambda x: format_log_to_str (
X [ 'intermediate_steps' ] ,
Beobachtungspräfix = ' \N Zwischenantwort: „ ,
llm_prefix = „“ ,
) ,
} | Eingabeaufforderung | llm_with_stop | SelfAskOutputParser ( )
Schritt 6: Agent Executor konfigurieren
Bevor Sie die Methode testen, importieren Sie einfach die AgentExecutor-Bibliothek aus LangChain, um den Agenten reaktionsfähig zu machen:
aus langchain. Agenten importieren AgentExecutorDefinieren Sie die Variable agent_executor, indem Sie die Methode AgentExecutor() aufrufen und die Komponenten als Argumente verwenden:
agent_executor = AgentExecutor ( Agent = Agent , Werkzeuge = Werkzeuge , ausführlich = WAHR )Schritt 7: Ausführen des Agenten
Sobald der Agent-Executor konfiguriert ist, testen Sie ihn einfach, indem Sie die Frage/Eingabeaufforderung in der Eingabevariablen angeben:
agent_executor. aufrufen ( { 'Eingang' : „Wer ist der U.S. Open-Champion der Männer?“ } )Die Ausführung des obigen Codes hat mit dem Namen des US-Open-Champions in der Ausgabe geantwortet, d. h. Dominic Thiem:
Schritt 8: Self-Ask Agent verwenden
Nachdem Sie die Antwort vom Agenten erhalten haben, verwenden Sie die SELF_ASK_WITH_SEARCH Agent mit der Abfrage in der run()-Methode:
self_ask_with_search = initialize_agent (Werkzeuge , llm , Agent = AgentType. SELF_ASK_WITH_SEARCH , ausführlich = WAHR
)
self_ask_with_search. laufen (
„Was ist die Heimatstadt von Dominic Thiem, dem US-Open-Weltmeister?“
)
Der folgende Screenshot zeigt, dass der Self-Ask-Agent die Informationen zu jedem wichtigen Begriff aus dem Datensatz extrahiert. Sobald alle Informationen zur Anfrage gesammelt und die Fragen verstanden sind, generiert es einfach die Antwort. Die Fragen, die sich der Agent selbst stellt, sind:
- Wer ist Dominic Thiem?
- Was ist die Heimatstadt von Dominic Thiem?
Nachdem der Agent die Antworten auf diese Fragen erhalten hat, hat er die Antwort auf die ursprüngliche Frage generiert: „ Wiener Neustadt, Austria ”:
Dabei geht es um den Prozess der Implementierung der Selbstfrage mit einer Suchkette unter Verwendung des LangChain-Frameworks.
Abschluss
Um die Selbstfrage mit Suche in LangChain zu implementieren, installieren Sie einfach die erforderlichen Module wie google-search-results, um die Ergebnisse vom Agenten zu erhalten. Anschließend richten Sie die Umgebung mit den API-Schlüsseln der OpenAI- und SerpAPi-Konten ein, um mit dem Prozess zu beginnen. Konfigurieren Sie den Agenten und erstellen Sie das Modell mit dem Self-Ask-Modell, um es mit der Methode AgentExecutor() zu testen.