Hurtig disposition
Dette indlæg vil demonstrere følgende:
Sådan implementerer du selvspørgsmålet med søgekæden
- Installation af Frameworks
- Bygningsmiljø
- Import af biblioteker
- Opbygning af sprogmodeller
- Brug af LangChain Expression Language
- Konfiguration af Agent Executor
- Kører agenten
- Brug af Self-Ask Agent
Hvordan implementerer man selvspørgsmålet med søgekæden?
Self-Ask er processen til at forbedre kædeprocessen, da den forstår kommandoerne grundigt. Kæderne forstår spørgsmålet ved at udtrække data om alle de vigtige termer fra datasættet. Når modellen er trænet og forstår forespørgslen, genererer den svaret på forespørgslen, som brugeren har stillet.
For at lære processen med at implementere selvspørgsmålet med søgekæderne i LangChain, skal du blot gennemgå følgende guide:
Trin 1: Installation af Frameworks
Først og fremmest, start processen ved at installere LangChain-processen ved hjælp af følgende kode og få alle afhængigheder for processen:
pip installer langkæde
Efter installation af LangChain skal du installere ' google-søgeresultater ” for at få søgeresultaterne fra Google ved hjælp af OpenAI-miljøet:
pip installer openai google-search-resultater
Trin 2: Bygningsmiljø
Når modulerne og rammerne er installeret, skal du opsætte miljøet for OpenAI og SerpAPi ved hjælp af deres API'er ved hjælp af følgende kode. Importer os og getpass-biblioteker, der kan bruges til at indtaste API-nøglerne fra deres respektive konti:
importere duimportere getpass
du . rundt regnet [ 'OPENAI_API_KEY' ] = getpass . getpass ( 'OpenAI API-nøgle:' )
du . rundt regnet [ 'SERPAPI_API_KEY' ] = getpass . getpass ( 'Serpapi API-nøgle:' )
Trin 3: Import af biblioteker
Efter opsætning af miljøet skal du blot importere de nødvendige biblioteker fra LangChain-afhængighederne som hjælpeprogrammer, agenter, llm og andre:
fra langkæde. llms importere OpenAIfra langkæde. forsyningsselskaber importere SerpAPIWrapper
fra langkæde. agenter . output_parsere importere SelfAskOutputParser
fra langkæde. agenter . format_scratchpad importere format_log_to_str
fra langkæde importere nav
fra langkæde. agenter importere initialize_agent , Værktøj
fra langkæde. agenter importere AgentType
Trin 4: Opbygning af sprogmodeller
Hentning af ovenstående biblioteker er påkrævet gennem hele processen, da OpenAI() bruges til at konfigurere sprogmodellen. Brug metoden SerpAPIWrapper() til at konfigurere søgevariablen og indstille de værktøjer, der kræves for, at agenten kan udføre alle opgaverne:
llm = OpenAI ( temperatur = 0 )Søg = SerpAPIWrapper ( )
værktøjer = [
Værktøj (
navn = 'Mellemsvar' ,
func = Søg. løb ,
beskrivelse = 'nyttigt når du skal spørge med søgning' ,
)
]
Trin 5: Brug af LangChain Expression Language
Kom godt i gang med at konfigurere agenten ved hjælp af LangChain Expression Language (LCEL) ved at indlæse modellen i promptvariablen:
hurtig = nav. trække ( 'hwchase17/selv-spørg-med-søgning' )Definer en anden variabel, der kan udføres for at stoppe generering af tekst og kontrollere længden af svarene:
llm_with_stop = llm. binde ( hold op = [ ' \n Mellemsvar:' ] )Konfigurer nu agenterne ved hjælp af Lambda, som er en hændelsesdrevet serverløs platform til at generere svarene til spørgsmålene. Konfigurer også de nødvendige trin for at træne og teste modellen for at få de optimerede resultater ved hjælp af de komponenter, der er konfigureret tidligere:
agent = {'input' : lambda x: x [ 'input' ] ,
'agent_scratchpad' : lambda x: format_log_to_str (
x [ 'mellemtrin' ] ,
observation_prefix = ' \n Mellemsvar: ' ,
llm_præfiks = '' ,
) ,
} | prompt | llm_med_stop | SelfAskOutputParser ( )
Trin 6: Konfiguration af Agent Executor
Før du tester metoden, skal du blot importere AgentExecutor-biblioteket fra LangChain for at få agenten til at reagere:
fra langkæde. agenter importere AgentExecutorDefiner variabelen agent_executor ved at kalde metoden AgentExecutor() og bruge komponenterne som dens argumenter:
agent_executor = AgentExecutor ( agent = agent , værktøjer = værktøjer , ordrig = Rigtigt )Trin 7: Kørsel af agenten
Når agent eksekveren er konfigureret, skal du blot teste den ved at angive spørgsmålet/prompten i inputvariablen:
agent_executor. påberåbe sig ( { 'input' : 'Hvem er mændenes U.S. Open-mester' } )Udførelse af ovenstående kode har reageret med navnet på US Open Champion i outputtet, dvs. Dominic Thiem:
Trin 8: Brug af Self-Ask Agent
Efter at have fået svar fra agenten, skal du bruge SELF_ASK_WITH_SEARCH agent med forespørgslen i run()-metoden:
selv_spørg_med_søgning = initialize_agent (værktøjer , llm , agent = AgentType. SELF_ASK_WITH_SEARCH , ordrig = Rigtigt
)
selv_spørg_med_søgning. løb (
'Hvad er hjembyen for Dominic Thiem, US Open World Champion'
)
Følgende skærmbillede viser, at selvspørgselsagenten udtrækker oplysningerne om hvert vigtigt udtryk fra datasættet. Når den først har samlet alle oplysninger om forespørgslen og forstår spørgsmålene, genererer den simpelthen svaret. Spørgsmålene, som agenten selv har stillet, er:
- Hvem er Dominic Thiem?
- Hvad er Dominic Thiems hjemby?
Efter at have fået svarene på disse spørgsmål, har agenten genereret svaret på det oprindelige spørgsmål, som er ' Wiener Neustadt, Østrig ”:
Det handler om processen med at implementere selvspørgsmålet med en søgekæde ved hjælp af LangChain-rammerne.
Konklusion
For at implementere selvspørgsmålet med søgning i LangChain skal du blot installere de nødvendige moduler som google-search-resultater for at få resultaterne fra agenten. Derefter skal du opsætte miljøet ved hjælp af API-nøglerne fra OpenAI- og SerpAPi-kontiene for at komme i gang med processen. Konfigurer agenten og byg modellen med selvspørgemodellen for at teste den ved hjælp af AgentExecutor()-metoden.