Wie verwende ich Select by Maximal Marginal Relevance (MMR) in LangChain?

Wie Verwende Ich Select By Maximal Marginal Relevance Mmr In Langchain



LangChain ist ein Modul, mit dem Sprachmodelle erstellt werden können, um mit Menschen in natürlichen Sprachen zu interagieren. Die Menschen stellen die Eingabeaufforderung in Textform bereit und das Modell verwendet einen Beispielselektor, um die Ausgabe mithilfe der Abfrage zu extrahieren. Beispielselektoren werden verwendet, um die Ausgabe basierend auf der Eingabe abzurufen, indem das relevanteste Beispiel zur Abfrage oder Eingabeaufforderung ausgewählt wird.

In dieser Anleitung wird der Prozess der Verwendung des Beispielselektors „select by Maximal Marginal Relevance“ in LangChain veranschaulicht.

Wie verwende ich Select by Maximal Marginal Relevance (MMR) in LangChain?

Der Beispielselektor „Maximale Randrelevanz“ wird verwendet, um Informationen mithilfe der Kosinusähnlichkeit der Eingabeaufforderung und des Beispiels zu extrahieren. Die Kosinusähnlichkeit wird berechnet, nachdem die Einbettungsmethoden auf die Daten angewendet und der Text in eine numerische Form umgewandelt wurde.







Um den Prozess der Verwendung des MMR-Beispielselektors in LangChain zu erlernen, führen Sie einfach die aufgeführten Schritte durch:



Schritt 1: Module installieren



Starten Sie den Prozess, indem Sie die Abhängigkeiten von LangChain mit dem Befehl pip installieren:





pip langchain installieren

Installieren Sie das OpenAI-Modul, um seine Umgebung zum Anwenden der OpenAIEmbedding()-Methode zu verwenden:



pip openai installieren

Installieren Sie das FAISS-Framework, mit dem Sie die Ausgabe mithilfe semantischer Ähnlichkeit erhalten können:

pip install faiss-gpu

Installieren Sie nun den Tiktoken-Tokenizer, um den Text mithilfe des folgenden Codes in kleinere Teile aufzuteilen:

pip tiktoken installieren

Schritt 2: Verwendung von Bibliotheken und Beispielen

Der nächste Schritt besteht darin, Bibliotheken zum Erstellen eines MMR-Beispielselektors, FAISS, OpenAIEmbeddings und PromptTemplate zu importieren. Erstellen Sie nach dem Import der Bibliotheken einfach einen Beispielsatz, der Eingaben und Ausgaben für die jeweiligen Eingaben in mehreren Arrays bereitstellt:

aus langchain. Aufforderungen . example_selector importieren (
MaxMarginalRelevanceExampleSelector ,
SemanticSimilarityExampleSelector ,
)
aus langchain. Vektorstores importieren FAISS
aus langchain. Einbettungen importieren OpenAIEmbeddings
aus langchain. Aufforderungen importieren FewShotPromptTemplate , PromptTemplate

example_prompt = PromptTemplate (
Eingabevariablen = [ 'Eingang' , 'Ausgabe' ] ,
Vorlage = „Eingabe: {input} \N Ausgabe: {Ausgabe}“ ,
)

Beispiele = [
{ 'Eingang' : 'Glücklich' , 'Ausgabe' : 'traurig' } ,
{ 'Eingang' : 'groß' , 'Ausgabe' : 'kurz' } ,
{ 'Eingang' : „energisch“ , 'Ausgabe' : 'lethargisch' } ,
{ 'Eingang' : 'sonnig' , 'Ausgabe' : 'düster' } ,
{ 'Eingang' : 'windig' , 'Ausgabe' : 'ruhig' } ,
]

Schritt 3: Beispielauswahl erstellen

Beginnen Sie nun mit dem Aufbau des MMR-Beispielselektors mithilfe der Methode MaxMarginalRelevanceExampleSelector(), die verschiedene Parameter enthält:

example_selector = MaxMarginalRelevanceExampleSelector. from_examples (
Beispiele ,
OpenAIEmbeddings ( ) ,
FAISS ,
k = 2 ,
)
mmr_prompt = FewShotPromptTemplate (
example_selector = example_selector ,
example_prompt = example_prompt ,
Präfix = „Geben Sie das Antonym jeder Eingabe an“ ,
Suffix = „Eingabe: {Adjektiv} \N Ausgabe:' ,
Eingabevariablen = [ 'Adjektiv' ] ,
)

Schritt 4: Testen des MMR-Beispielselektors

Testen Sie den MMR-Beispielselektor „Maximal Marginal Relevance“, indem Sie ihn in der print()-Methode mit der Eingabe aufrufen:

drucken ( mmr_prompt. Format ( Adjektiv = 'besorgt' ) )

Schritt 5: SemanticSimilarity verwenden

Dieser Schritt verwendet die Methode SemanticSimilarityExampleSelector() und anschließend die Methode FewShotPromptTemplate(), die von LangChain unterstützt wird:

example_selector = SemanticSimilarityExampleSelector. from_examples (
Beispiele ,
OpenAIEmbeddings ( ) ,
FAISS ,
k = 2 ,
)
ähnliche_prompt = FewShotPromptTemplate (
example_selector = example_selector ,
example_prompt = example_prompt ,
Präfix = „Geben Sie das Antonym jeder Eingabe an“ ,
Suffix = „Eingabe: {Adjektiv} \N Ausgabe:' ,
Eingabevariablen = [ 'Adjektiv' ] ,
)
drucken ( ähnliche_prompt. Format ( Adjektiv = 'besorgt' ) )

Dabei geht es um die Verwendung der Auswahl nach Maximal Marginal Relevance oder MMR in LangChain.

Abschluss

Um den Select by Maximal Marginal Relevance- oder MMR-Beispielselektor in LangChain zu verwenden, installieren Sie die erforderlichen Module. Anschließend importieren Sie die Bibliotheken, um den Beispielsatz mithilfe der Eingabeaufforderungsvorlage für Eingabe und Ausgabe zu erstellen. Erstellen Sie den MMR-Beispielselektor, um ihn mithilfe des MMR-Beispielselektors und der Methode FewShotPromptTemplate() zu testen und eine relevante Ausgabe zu erhalten. Dieser Leitfaden hat den Prozess der Verwendung des Select-by-MMR-Beispielselektors in LangChain veranschaulicht.