Cum să implementați auto-întrebarea cu lanțul de căutare?

Cum Sa Implementati Auto Intrebarea Cu Lantul De Cautare



LangChain este modulul pentru construirea de modele lingvistice și chatbot care pot înțelege și extrage text în limbaj natural. Limbile naturale sunt ușor de înțeles de către oameni, dar mașinile trebuie să le învețe examinând în mod repetat datele. Datele/documentele în limbajele naturale pot fi folosite pentru a antrena modelul și apoi a cere solicitări din date pentru a verifica performanța modelului.

Schiță rapidă

Această postare va demonstra următoarele:







Cum să implementați auto-întrebarea cu lanțul de căutare



Concluzie



Cum să implementați auto-întrebarea cu lanțul de căutare?

Self-Ask este procesul de îmbunătățire a procesului de înlănțuire, deoarece înțelege bine comenzile. Lanțurile înțeleg întrebarea extragând datele despre toți termenii importanți din setul de date. Odată ce modelul este antrenat și înțelege interogarea, acesta generează răspunsul la interogarea solicitată de utilizator.





Pentru a învăța procesul de implementare a auto-cererii cu lanțurile de căutare în LangChain, parcurgeți următorul ghid:

Pasul 1: Instalarea cadrelor

Mai întâi de toate, începeți procesul instalând procesul LangChain folosind următorul cod și obțineți toate dependențele pentru proces:



pip install langchain

După instalarea LangChain, instalați „ Google-search-results ” pentru a obține rezultatele căutării de la Google folosind mediul OpenAI:

pip install openai google-search-results

Pasul 2: Mediul de construcție

Odată ce modulele și cadrele sunt instalate, configurați mediul pentru OpenAI și SerpAPi folosind API-urile lor folosind următorul cod. Importați bibliotecile OS și getpass care pot fi folosite pentru a introduce cheile API din conturile lor respective:

import tu
import getpass

tu . aproximativ [ „OPENAI_API_KEY” ] = getpass . getpass ( „Cheie API OpenAI:” )
tu . aproximativ [ „SERPAPI_API_KEY” ] = getpass . getpass ( „Cheia API Serpapi:” )

Pasul 3: Importarea bibliotecilor

După configurarea mediului, pur și simplu importați bibliotecile necesare din dependențele LangChain, cum ar fi utilități, agenți, llm și altele:

din langchain. llms import OpenAI

din langchain. utilitati import SerpAPIWrapper

din langchain. agenţi . analizoare_ieșire import SelfAskOutputParser

din langchain. agenţi . format_scratchpad import format_log_to_str

din langchain import hub

din langchain. agenţi import initialize_agent , Instrument

din langchain. agenţi import AgentType

Pasul 4: Construirea modelelor lingvistice

Obținerea bibliotecilor de mai sus este necesară pe tot parcursul procesului, deoarece OpenAI() este utilizat pentru a configura modelul de limbă. Utilizați metoda SerpAPIWrapper() pentru a configura variabila de căutare și a seta instrumentele necesare agentului pentru a efectua toate sarcinile:

llm = OpenAI ( temperatura = 0 )
căutare = SerpAPIWrapper ( )
unelte = [
Instrument (
Nume = „Răspuns intermediar” ,
func = căutare. alerga ,
Descriere = „util pentru când trebuie să întrebi cu căutarea” ,
)
]

Pasul 5: Utilizarea LangChain Expression Language

Începeți cu configurarea agentului folosind LangChain Expression Language (LCEL) prin încărcarea modelului în variabila prompt:

prompt = hub. Trage ( „hwchase17/self-ask-with-search” )

Definiți o altă variabilă care poate fi executată pentru a opri generarea de text și pentru a controla lungimea răspunsurilor:

llm_cu_stop = llm. lega ( Stop = [ ' \n Răspuns intermediar:' ] )

Acum, configurați agenții folosind Lambda, care este o platformă fără server bazată pe evenimente, pentru a genera răspunsurile la întrebări. De asemenea, configurați pașii necesari pentru a antrena și testa modelul pentru a obține rezultate optimizate folosind componentele configurate mai devreme:

agent = {
'intrare' : lambda x: x [ 'intrare' ] ,
'agent_scratchpad' : lambda x: format_log_to_str (
X [ „pași_intermediari” ] ,
prefix_observare = ' \n Răspuns intermediar: „ ,
llm_prefix = '' ,
) ,
} | prompt | llm_cu_stop | SelfAskOutputParser ( )

Pasul 6: Configurarea Agent Executor

Înainte de a testa metoda, pur și simplu importați biblioteca AgentExecutor din LangChain pentru a face agentul să răspundă:

din langchain. agenţi import Agent Executor

Definiți variabila agent_executor apelând metoda AgentExecutor() și folosind componentele ca argumente:

agent_executor = Agent Executor ( agent = agent , unelte = unelte , verboroasă = Adevărat )

Pasul 7: Rularea agentului

Odată ce executorul agentului este configurat, pur și simplu testați-l furnizând întrebarea/promptul în variabila de intrare:

agent_executor. invoca ( { 'intrare' : „Cine este campionul masculin la US Open” } )

Executarea codului de mai sus a răspuns cu numele campionului US Open în ieșire, adică Dominic Thiem:

Pasul 8: Utilizarea agentului Self-Ask

După ce ați primit răspunsul de la agent, utilizați SELF_ASK_WITH_SEARCH agent cu interogarea în metoda run():

self_ask_with_search = initialize_agent (
unelte , llm , agent = AgentType. SELF_ASK_WITH_SEARCH , verboroasă = Adevărat
)
self_ask_with_search. alerga (
„Care este orașul natal al lui Dominic Thiem, campion mondial la US Open”
)

Următoarea captură de ecran arată că agentul de auto-cerere extrage informații despre fiecare termen important din setul de date. Odată ce adună toate informațiile despre interogare și înțelege întrebările, pur și simplu generează răspunsul. Întrebările puse de către agent sunt:

  • Cine este Dominic Thiem?
  • Care este orașul natal al lui Dominic Thiem?

După ce a primit răspunsurile la aceste întrebări, agentul a generat răspunsul la întrebarea inițială care este „ Wiener Neustadt, Austria ”:

Acesta este totul despre procesul de implementare a auto-cererii cu un lanț de căutare folosind cadrul LangChain.

Concluzie

Pentru a implementa auto-cererea cu căutare în LangChain, instalați pur și simplu modulele necesare, cum ar fi google-search-results, pentru a obține rezultatele de la agent. După aceea, configurați mediul folosind cheile API din conturile OpenAI și SerpAPi pentru a începe procesul. Configurați agentul și construiți modelul cu modelul de auto-cerere pentru a-l testa folosind metoda AgentExecutor().