Rýchly prehľad
Tento príspevok bude demonštrovať nasledovné:
Ako implementovať Self-Ask pomocou vyhľadávacieho reťazca
- Inštalácia rámcov
- Prostredie budovy
- Importovanie knižníc
- Budovanie jazykových modelov
- Používanie jazyka výrazov LangChain
- Konfigurácia Agent Executor
- Spustenie Agenta
- Použitie Self-Ask Agent
Ako implementovať Self-Ask s vyhľadávacím reťazcom?
Self-Ask je proces na zlepšenie procesu reťazenia, pretože dôkladne rozumie príkazom. Reťazce pochopia otázku extrahovaním údajov o všetkých dôležitých pojmoch zo súboru údajov. Keď je model vyškolený a rozumie dopytu, vygeneruje odpoveď na dopyt položený používateľom.
Ak sa chcete naučiť proces implementácie vlastného dopytovania pomocou vyhľadávacích reťazcov v LangChain, jednoducho si prejdite nasledujúcu príručku:
Krok 1: Inštalácia rámcov
Najprv spustite proces inštaláciou procesu LangChain pomocou nasledujúceho kódu a získajte všetky závislosti pre proces:
pip install langchain
Po inštalácii LangChain nainštalujte „ google-search-results ” a získajte výsledky vyhľadávania od Google pomocou prostredia OpenAI:
pip install openai google-search-results
Krok 2: Prostredie budovy
Po nainštalovaní modulov a rámcov nastavte prostredie pre OpenAI a SerpAPi pomocou ich API pomocou nasledujúceho kódu. Importujte knižnice operačného systému a getpass, ktoré možno použiť na zadanie kľúčov API z ich príslušných účtov:
importovať vyimportovať getpass
vy . približne [ 'OPENAI_API_KEY' ] = getpass . getpass ( 'OpenAI API Key:' )
vy . približne [ 'SERPAPI_API_KEY' ] = getpass . getpass ( 'Serpapi API Key:' )
Krok 3: Importovanie knižníc
Po nastavení prostredia jednoducho importujte požadované knižnice zo závislostí LangChain, ako sú utility, agenti, llm a iné:
od langchain. llms importovať OpenAIod langchain. komunálne služby importovať SerpAPIWrapper
od langchain. agentov . výstupné_analyzátory importovať SelfAskOutputParser
od langchain. agentov . format_scratchpad importovať format_log_to_str
od langchain importovať stredisko
od langchain. agentov importovať initialize_agent , Nástroj
od langchain. agentov importovať Typ agenta
Krok 4: Vytváranie jazykových modelov
Získanie vyššie uvedených knižníc je potrebné počas celého procesu, pretože OpenAI() sa používa na konfiguráciu jazykového modelu. Pomocou metódy SerpAPIWrapper() nakonfigurujte premennú vyhľadávania a nastavte nástroje potrebné na to, aby agent vykonával všetky úlohy:
llm = OpenAI ( teplota = 0 )Vyhľadávanie = SerpAPIWrapper ( )
nástrojov = [
Nástroj (
názov = 'stredná odpoveď' ,
func = Vyhľadávanie. behať ,
popis = 'užitočné, keď sa potrebujete opýtať pomocou vyhľadávania' ,
)
]
Krok 5: Používanie jazyka LangChain Expression Language
Začíname s konfiguráciou agenta pomocou jazyka LangChain Expression Language (LCEL) načítaním modelu do premennej výzvy:
výzva = stredisko. SEM ( 'hwchase17/self-ask-with-search' )Definujte ďalšiu premennú, ktorá môže byť vykonaná na zastavenie generovania textu a ovládanie dĺžky odpovedí:
llm_with_stop = llm. viazať ( zastaviť = [ ' \n Stredná odpoveď:' ] )Teraz nakonfigurujte agentov pomocou Lambda, čo je platforma bez servera riadená udalosťami na generovanie odpovedí na otázky. Nakonfigurujte tiež kroky potrebné na trénovanie a testovanie modelu, aby ste získali optimalizované výsledky pomocou komponentov nakonfigurovaných skôr:
agent = {'vstup' : lambda x: x [ 'vstup' ] ,
'agent_scratchpad' : lambda x: format_log_to_str (
X [ 'intermediate_steps' ] ,
predpona_pozorovania = ' \n Stredná odpoveď: ' ,
llm_prefix = '' ,
) ,
} | výzva | llm_with_stop | SelfAskOutputParser ( )
Krok 6: Konfigurácia Agent Executor
Pred testovaním metódy jednoducho importujte knižnicu AgentExecutor z LangChain, aby agent reagoval:
od langchain. agentov importovať AgentExecutorDefinujte premennú agent_executor volaním metódy AgentExecutor() a použitím komponentov ako jej argumentov:
agent_exekútor = AgentExecutor ( agent = agent , nástrojov = nástrojov , podrobný = Pravda )Krok 7: Spustenie agenta
Po nakonfigurovaní vykonávateľa agenta ho jednoducho otestujte zadaním otázky/výzvy do vstupnej premennej:
agent_exekútor. vzývať ( { 'vstup' : 'Kto je mužský šampión US Open' } )Spustenie vyššie uvedeného kódu odpovedalo menom šampióna US Open vo výstupe, t.j. Dominic Thiem:
Krok 8: Použitie Self-Ask Agent
Po získaní odpovede od agenta použite SELF_ASK_WITH_SEARCH agent s dotazom v metóde run():
seba_pýtať sa_s_vyhľadávaním = initialize_agent (nástrojov , llm , agent = Typ agenta. SELF_ASK_WITH_SEARCH , podrobný = Pravda
)
seba_pýtať sa_s_vyhľadávaním. behať (
'Aké je rodné mesto Dominica Thiema, majstra sveta US Open'
)
Nasledujúca snímka obrazovky zobrazuje, že samočinný agent extrahuje informácie o každom dôležitom výraze z množiny údajov. Keď zhromaždí všetky informácie o dopyte a porozumie otázkam, jednoducho vygeneruje odpoveď. Otázky, ktoré si agent kladie, sú:
- Kto je Dominic Thiem?
- Aké je rodné mesto Dominica Thiema?
Po získaní odpovedí na tieto otázky agent vygeneroval odpoveď na pôvodnú otázku, ktorá je „ Wiener Neustadt, Rakúsko “:
To je všetko o procese implementácie vlastnej otázky pomocou vyhľadávacieho reťazca pomocou rámca LangChain.
Záver
Ak chcete implementovať samočinnú otázku s vyhľadávaním v LangChain, jednoducho nainštalujte požadované moduly, ako je google-search-results, aby ste získali výsledky od agenta. Potom nastavte prostredie pomocou kľúčov API z účtov OpenAI a SerpAPi, aby ste mohli začať s procesom. Nakonfigurujte agenta a zostavte model s modelom self-ask, aby ste ho otestovali pomocou metódy AgentExecutor().