Hvordan implementerer man selvspørgsmålet med søgekæden?

Hvordan Implementerer Man Selvsporgsmalet Med Sogekaeden



LangChain er modulet til at bygge sprogmodeller og chatbots, der kan forstå og udtrække tekst i naturligt sprog. Naturlige sprog er let forståelige for mennesker, men maskiner skal lære dem ved gentagne gange at gennemgå dataene. Dataene/dokumenterne på de naturlige sprog kan bruges til at træne modellen og derefter bede meddelelserne fra dataene om at kontrollere modellens ydeevne.

Hurtig disposition

Dette indlæg vil demonstrere følgende:







Sådan implementerer du selvspørgsmålet med søgekæden



Konklusion



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 du
importere 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 OpenAI

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

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