Gyors vázlat
Ez a bejegyzés a következőket mutatja be:
Hogyan valósítsuk meg az önkérdést keresőlánccal
- Keretrendszerek telepítése
- Épületi környezet
- Könyvtárak importálása
- Nyelvi modellek építése
- LangChain Expression Language használata
- Az Agent Executor konfigurálása
- Az ügynök működtetése
- Self-Ask Agent használata
Hogyan valósítsuk meg az önkérdést a keresőláncban?
A Self-Ask az a folyamat, amely javítja a láncolási folyamatot, mivel alaposan megérti a parancsokat. A láncok úgy értelmezik a kérdést, hogy az összes fontos kifejezésre vonatkozó adatokat kinyerik az adatkészletből. Miután a modellt betanították és megértette a lekérdezést, akkor generálja a választ a felhasználó által feltett lekérdezésre.
Az önkérdés LangChain keresőláncaival való megvalósításának folyamatának megismeréséhez egyszerűen kövesse az alábbi útmutatót:
1. lépés: Keretrendszerek telepítése
Először is indítsa el a folyamatot a LangChain folyamat telepítésével a következő kóddal, és szerezze be a folyamat összes függőségét:
pip install langchain
A LangChain telepítése után telepítse a „ google-search-results ” a keresési eredmények lekéréséhez a Google-tól az OpenAI környezet használatával:
pip install openai google-search-results
2. lépés: Építési környezet
A modulok és keretrendszerek telepítése után állítsa be a környezetet a OpenAI és SerpAPi az API-jaikat a következő kód használatával. Importálja az API-kulcsok megadására használható operációs rendszer és getpass könyvtárakat a megfelelő fiókokból:
import teimport getpass
te . hozzávetőlegesen, körülbelül [ 'OPENAI_API_KEY' ] = getpass . getpass ( 'OpenAI API kulcs:' )
te . hozzávetőlegesen, körülbelül [ 'SERPAPI_API_KEY' ] = getpass . getpass ( 'Serpapi API kulcs:' )
3. lépés: Könyvtárak importálása
A környezet beállítása után egyszerűen importálja a szükséges könyvtárakat a LangChain függőségekből, például segédprogramokból, ügynökökből, llm-ből és egyebekből:
tól től langchain. llms import OpenAItól től langchain. segédprogramok import SerpAPIWrapper
tól től langchain. ügynökök . output_parsers import SelfAskOutputParser
tól től langchain. ügynökök . format_scratchpad import format_log_to_str
tól től langchain import kerékagy
tól től langchain. ügynökök import inicializálás_ügynök , Eszköz
tól től langchain. ügynökök import AgentType
4. lépés: Nyelvi modellek készítése
A fenti könyvtárak beszerzése a folyamat során szükséges, mivel az OpenAI()-t használják a nyelvi modell konfigurálásához. A SerpAPIWrapper() metódus használatával konfigurálja a keresési változót, és állítsa be az ügynökhöz szükséges eszközöket az összes feladat elvégzéséhez:
llm = OpenAI ( hőfok = 0 )keresés = SerpAPIWrapper ( )
eszközöket = [
Eszköz (
név = 'Köztes válasz' ,
func = keresés. fuss ,
leírás = 'hasznos, ha kérdezni kell a keresés során' ,
)
]
5. lépés: LangChain Expression Language használata
Az ügynök konfigurálásának megkezdése a LangChain Expression Language (LCEL) használatával a modell prompt változóba való betöltésével:
gyors = kerékagy. Húzni ( 'hwchase17/self-ask-with-search' )Határozzon meg egy másik változót, amely végrehajtható a szöveg generálásának leállítására és a válaszok hosszának szabályozására:
llm_with_stop = llm. kötni ( állj meg = [ ' \n Köztes válasz:' ] )Most állítsa be az ügynököket a Lambda használatával, amely egy eseményvezérelt kiszolgáló nélküli platform a kérdésekre adott válaszok generálásához. Ezenkívül konfigurálja a modell betanításához és teszteléséhez szükséges lépéseket az optimalizált eredmények eléréséhez a korábban konfigurált összetevők használatával:
ügynök = {'bemenet' : lambda x: x [ 'bemenet' ] ,
'agent_scratchpad' : lambda x: format_log_to_str (
x [ 'intermediate_steps' ] ,
megfigyelési_előtag = ' \n Köztes válasz: ' ,
llm_prefix = '' ,
) ,
} | felszólítás | llm_with_stop | SelfAskOutputParser ( )
6. lépés: Az Agent Executor konfigurálása
A módszer tesztelése előtt egyszerűen importálja az AgentExecutor könyvtárat a LangChainből, hogy az ügynök reagálni fog:
tól től langchain. ügynökök import AgentExecutorHatározza meg az agent_executor változót az AgentExecutor() metódus meghívásával és a komponensek argumentumaként:
ügynök_végrehajtó = AgentExecutor ( ügynök = ügynök , eszközöket = eszközöket , bőbeszédű = Igaz )7. lépés: Az ügynök futtatása
Miután beállította az ügynök végrehajtóját, egyszerűen tesztelje a kérdést/prompt megadásával a bemeneti változóban:
ügynök_végrehajtó. hivatkozni ( { 'bemenet' : 'Ki a férfi US Open bajnoka?' } )A fenti kód végrehajtása a US Open Champion nevével válaszolt a kimenetben, azaz Dominic Thiem:
8. lépés: Az Self-Ask Agent használata
Miután megkapta a választ az ügynöktől, használja a SELF_ASK_WITH_SEARCH ügynök a lekérdezéssel a run() metódusban:
self_sk_a_search = inicializálás_ügynök (eszközöket , llm , ügynök = AgentType. SELF_ASK_WITH_SEARCH , bőbeszédű = Igaz
)
self_sk_a_search. fuss (
'Mi a szülővárosa Dominic Thiemnek, a US Open világbajnoknak?'
)
A következő képernyőkép azt mutatja, hogy az önkérő ügynök az egyes fontos kifejezésekre vonatkozó információkat kinyeri az adatkészletből. Miután összegyűjti a lekérdezéssel kapcsolatos összes információt, és megérti a kérdéseket, egyszerűen létrehozza a választ. Az ügynök által feltett kérdések a következők:
- Ki az a Dominic Thiem?
- Mi Dominic Thiem szülővárosa?
Miután megkapta a választ ezekre a kérdésekre, az ügynök létrehozta a választ az eredeti kérdésre, amely a következő: Wiener Neustadt, Ausztria ”:
Ennyi az önkérdés megvalósításának folyamata egy keresési lánccal a LangChain keretrendszer használatával.
Következtetés
Az önkérdés megvalósításához a kereséssel a LangChainben egyszerűen telepítse a szükséges modulokat, például a google-search-results, hogy megkapja az eredményeket az ügynöktől. Ezt követően állítsa be a környezetet az OpenAI- és SerpAPi-fiókok API-kulcsaival a folyamat megkezdéséhez. Konfigurálja az ügynököt, és állítsa össze a modellt az önkérő modellel, hogy tesztelje az AgentExecutor() metódussal.