Wie implementiert man die Selbstfrage mit Suchkette?

Wie Implementiert Man Die Selbstfrage Mit Suchkette



LangChain ist das Modul zum Aufbau von Sprachmodellen und Chatbots, die Texte in natürlicher Sprache verstehen und extrahieren können. Natürliche Sprachen sind für Menschen leicht verständlich, Maschinen müssen sie jedoch lernen, indem sie die Daten wiederholt durchgehen. Die Daten/Dokumente in den natürlichen Sprachen können verwendet werden, um das Modell zu trainieren und dann die Eingabeaufforderungen aus den Daten abzufragen, um die Leistung des Modells zu überprüfen.

Kurzer Überblick

In diesem Beitrag wird Folgendes demonstriert:







So implementieren Sie die Self-Ask mit Suchkette



Abschluss



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 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:“ )

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 OpenAI

aus 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 AgentExecutor

Definieren 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.