Hoe gebruik ik Select op maximale marginale relevantie (MMR) in LangChain?

Hoe Gebruik Ik Select Op Maximale Marginale Relevantie Mmr In Langchain



LangChain is een module die kan worden gebruikt om taalmodellen te bouwen voor interactie met mensen in natuurlijke talen. De mensen geven de prompt in de tekstvorm en het model gebruikt een voorbeeldselector om uitvoer te extraheren met behulp van de query. Voorbeeldselectors worden gebruikt om de uitvoer op te halen op basis van de invoer door het relevante voorbeeld te kiezen dat het dichtst bij de query of prompt ligt.

Deze handleiding illustreert het proces van het gebruik van de voorbeeldselector Select by Maximal Marginal Relevance in LangChain.

Hoe gebruik ik Select op maximale marginale relevantie (MMR) in LangChain?

De voorbeeldselector Maximale marginale relevantie wordt gebruikt om informatie te extraheren met behulp van de cosinus-overeenkomst van de prompt en het voorbeeld. De cosinusovereenkomst wordt berekend na het toepassen van de inbeddingsmethoden op de gegevens en het converteren van tekst naar numerieke vorm.





Om het proces van het gebruik van de MMR-voorbeeldselector in LangChain te leren, doorloopt u eenvoudigweg de vermelde stappen:



Stap 1: Modules installeren



Start het proces door de afhankelijkheden van de LangChain te installeren met behulp van de pip-opdracht:





pip installeer langchain

Installeer de OpenAI-module om de omgeving ervan te gebruiken voor het toepassen van de OpenAIEmbedding()-methode:



pip installeer openai

Installeer het FAISS-framework dat kan worden gebruikt om de uitvoer te verkrijgen met behulp van semantische gelijkenis:

pip installeer faiss-gpu

Installeer nu tiktoken tokenizer om de tekst in kleinere stukken te splitsen met behulp van de volgende code:

pip installeer tiktoken

Stap 2: Bibliotheken en voorbeelden gebruiken

De volgende stap is het importeren van bibliotheken voor het bouwen van een MMR-voorbeeldselector, FAISS, OpenAIEmbeddings en PromptTemplate. Na het importeren van de bibliotheken kunt u eenvoudigweg een voorbeeldset maken die invoer en uitvoer geeft voor hun respectievelijke invoer in meerdere arrays:

van langketen. aanwijzingen . voorbeeld_selector importeren (
MaxMarginalRelevanceExampleSelector ,
Semantische GelijkenisVoorbeeldSelector ,
)
van langketen. vectorwinkels importeren FAISS
van langketen. inbedding importeren OpenAIE-inbedding
van langketen. aanwijzingen importeren FewShotPrompt-sjabloon , Promptsjabloon

voorbeeld_prompt = Promptsjabloon (
invoervariabelen = [ 'invoer' , 'uitvoer' ] ,
sjabloon = 'Invoer: {invoer} \N Uitvoer: {uitvoer}' ,
)

voorbeelden = [
{ 'invoer' : 'Vrolijk' , 'uitvoer' : 'verdrietig' } ,
{ 'invoer' : 'lang' , 'uitvoer' : 'kort' } ,
{ 'invoer' : 'energiek' , 'uitvoer' : 'slaperig' } ,
{ 'invoer' : 'zonnig' , 'uitvoer' : 'teneergeslagen' } ,
{ 'invoer' : 'winderig' , 'uitvoer' : 'kalm' } ,
]

Stap 3: Bouwvoorbeeldkiezer

Begin nu met het bouwen van de MMR-voorbeeldselector met behulp van de methode MaxMarginalRelevanceExampleSelector() die verschillende parameters bevat:

voorbeeld_selector = MaxMarginalRelevanceExampleSelector. uit_voorbeelden (
voorbeelden ,
OpenAIE-inbedding ( ) ,
FAISS ,
k = 2 ,
)
mmr_prompt = FewShotPrompt-sjabloon (
voorbeeld_selector = voorbeeld_selector ,
voorbeeld_prompt = voorbeeld_prompt ,
voorvoegsel = 'Geef het antoniem van elke invoer' ,
achtervoegsel = 'Invoer: {bijvoeglijk naamwoord} \N Uitvoer:' ,
invoervariabelen = [ 'bijvoeglijk naamwoord' ] ,
)

Stap 4: De MMR-voorbeeldkiezer testen

Test de MMR-voorbeeldselector voor maximale marginale relevantie door deze in de print() -methode aan te roepen met de invoer:

afdrukken ( mmr_prompt. formaat ( bijvoeglijk naamwoord = 'bezorgd' ) )

Stap 5: Semantische gelijkenis gebruiken

Bij deze stap wordt de methode SemanticSimilarityExampleSelector() gebruikt en vervolgens de methode FewShotPromptTemplate() die wordt ondersteund door de LangChain:

voorbeeld_selector = Semantische GelijkenisVoorbeeldSelector. uit_voorbeelden (
voorbeelden ,
OpenAIE-inbedding ( ) ,
FAISS ,
k = 2 ,
)
soortgelijke_prompt = FewShotPrompt-sjabloon (
voorbeeld_selector = voorbeeld_selector ,
voorbeeld_prompt = voorbeeld_prompt ,
voorvoegsel = 'Geef het antoniem van elke invoer' ,
achtervoegsel = 'Invoer: {bijvoeglijk naamwoord} \N Uitvoer:' ,
invoervariabelen = [ 'bijvoeglijk naamwoord' ] ,
)
afdrukken ( soortgelijke_prompt. formaat ( bijvoeglijk naamwoord = 'bezorgd' ) )

Dat draait allemaal om het gebruik van de selectie door maximale marginale relevantie of MMR in LangChain.

Conclusie

Als u de selector Select by Maximal Marginal Relevance of MMR-voorbeeldselector in LangChain wilt gebruiken, installeert u de vereiste modules. Importeer daarna de bibliotheken om de voorbeeldset te bouwen met behulp van de invoer- en uitvoerpromptsjabloon. Bouw de MMR-voorbeeldselector om deze te testen met behulp van de MMR-voorbeeldselector en de FewShotPromptTemplate()-methode om relevante uitvoer te verkrijgen. Deze handleiding illustreert het proces van het gebruik van de select-by-MMR-voorbeeldselector in LangChain.