Gyors vázlat
Ez a bejegyzés a következőket mutatja be:
Mik azok az ágensek a természetes nyelvi feldolgozásban (NLP)
Kezdő lépések a LangChain ügynökeivel
- Keretrendszerek telepítése
- A csevegési modell konfigurálása
- Építőipari ügynök
- Az ügynök felhívása
- Konfigurálja az Ügynökeszközöket
- Az ügynök tesztelése
Mik azok az ágensek a természetes nyelvi feldolgozásban (NLP)?
Az ügynökök a természetes nyelvi alkalmazás létfontosságú összetevői, és a Natural Language Understanding-t (NLU) használják a lekérdezések megértéséhez. Ezek az ágensek olyan programok, amelyek társalgási sablonként működnek az emberekkel való interakcióhoz a feladatok sorrendjét használva. Az ügynökök több olyan eszközt használnak, amelyeket az ügynök hívhat több művelet végrehajtására vagy a következő végrehajtandó feladat megadására.
Kezdő lépések a LangChain ügynökeivel
Indítsa el az ügynökök felépítésének folyamatát az emberekkel folytatott beszélgetéshez úgy, hogy kivonja a kimenetet a LangChain ügynökei segítségével. A LangChain ügynökeivel való kezdő lépések megismeréséhez egyszerűen kövesse az alábbi lépéseket:
1. lépés: Keretrendszerek telepítése
Először kezdje el a LangChain keretrendszer telepítésének folyamatát a „ csipog ” parancsot az ügynökök használatához szükséges függőségek lekéréséhez:
pip install langchain
Telepítse az OpenAI modult az LLM felépítéséhez, és használja azt a LangChain ügynökeinek konfigurálásához:
pip install openai
Állítsa be a környezetet az OpenAI modulhoz a fiókból származó API-kulcsával a következő kód futtatásával:
import teimport getpass
te . hozzávetőlegesen, körülbelül [ 'OPENAI_API_KEY' ] = getpass . getpass ( 'OpenAI API kulcs:' )
2. lépés: A csevegési modell konfigurálása
Importálja a ChatOpenAI modult a LangChainből az LLM létrehozásához a funkciója segítségével:
tól től langchain. chat_models import ChatOpenAIllm = ChatOpenAI ( hőfok = 0 )
Importáljon eszközöket az ügynök számára az ügynök által végrehajtandó feladatok vagy műveletek konfigurálásához. A következő kód a get_word_length() metódust használja a felhasználó által megadott szó hosszának lekéréséhez:
tól től langchain. ügynökök import eszköz@ eszköz
def get_word_length ( szó: str ) - > int :
'''a szó hosszának meghatározása'''
Visszatérés csak ( szó )
eszközöket = [ get_word_length ]
Állítsa be a csevegési modell sablonját vagy struktúráját, hogy létrehozzon egy csevegési felületet:
tól től langchain. felszólítja import ChatPromptTemplate , MessagesPlaceholdergyors = ChatPromptTemplate. from_messages ( [
( 'rendszer' , 'Az asszisztensed egészen elképesztő, de fejlesztésre szorul a hosszúságszámítás terén' ) ,
( 'felhasználó' , '{bemenet}' ) ,
MessagesPlaceholder ( változó_neve = 'agent_scratchpad' ) ,
] )
3. lépés: Építőanyag
Importálja az eszköztárat az LLM létrehozásához az OpenAI függvényeket használó eszközökkel a LangChain modulból:
tól től langchain. eszközöket . Vakol import format_tool_to_openai_functionllm_with_tools = llm. kötni (
funkciókat = [ format_tool_to_openai_function ( t ) számára t ban ben eszközöket ]
)
Állítsa be az ügynököt az OpenAI függvényügynök használatával, hogy a kimeneti elemzőt használja a műveletek/feladatok sorrendjének beállításához:
tól től langchain. ügynökök . format_scratchpad import format_to_openai_functionstól től langchain. ügynökök . output_parsers import OpenAIFunctionsAgentOutputParser
ügynök = {
'bemenet' : lambda x: x [ 'bemenet' ] ,
'agent_scratchpad' : lambda x: format_to_openai_functions ( x [ 'intermediate_steps' ] )
} | felszólítás | llm_with_tools | OpenAIFunctionsAgentOutputParser ( )
4. lépés: Az ügynök meghívása
A következő lépés az invoke() függvény segítségével hívja meg az ügynököt az input és intermediate_steps argumentumokkal:
ügynök. hivatkozni ( {'bemenet' : 'hány betű van a jó szóban' ,
'köztes_lépések' : [ ]
} )
5. lépés: Az Ügynökeszközök konfigurálása
Ezután egyszerűen importálja az AgentFinish könyvtárat az intermediate_steps konfigurálásához úgy, hogy az összes lépést egymás után integrálja a tevékenység befejezéséhez:
tól től langchain. séma . ügynök import AgentFinishköztes_lépések = [ ]
míg Igaz :
Kimenet = ügynök. hivatkozni ( {
'bemenet' : 'jó betűk' ,
'köztes_lépések' : köztes_lépések
} )
ha instance ( Kimenet , AgentFinish ) :
végeredmény = Kimenet. return_values [ 'Kimenet' ]
szünet
más :
nyomtatás ( Kimenet. eszköz , Kimenet. tool_input )
eszköz = {
'get_word_length' : get_word_length
} [ Kimenet. eszköz ]
megfigyelés = eszköz. fuss ( Kimenet. tool_input )
köztes_lépések. mellékel ( ( Kimenet , megfigyelés ) )
nyomtatás ( végeredmény )
6. lépés: Az ügynök tesztelése
Most futtassa az ügynököt az AgentExecutor() metódus meghívásával, miután importálta a könyvtárát a LangChainből:
tól től langchain. ügynökök import AgentExecutorügynök_végrehajtó = AgentExecutor ( ügynök = ügynök , eszközöket = eszközöket , bőbeszédű = Igaz )
A végén hívja meg az agent_executort a bemeneti argumentummal az ügynök lekérdezésének megadásához:
ügynök_végrehajtó. hivatkozni ( { 'bemenet' : 'hány betű van a jó szóban' } )Az ügynök a lánc befejezése után megjelenítette a választ a bemeneti argumentumban megadott kérdésre:
Ez az egész arról szól, hogy elkezdjük az ügynököket a LangChain keretrendszerben.
Következtetés
A LangChain ügynökeivel való kezdéshez egyszerűen telepítse a környezet beállításához szükséges modulokat az OpenAI API-kulcs használatával. Ezután konfigurálja a csevegési modellt az ügynök felépítéséhez szükséges prompt sablon beállításával a közbenső lépések sorozatával. Az ügynök konfigurálása után egyszerűen készítse el az eszközöket a feladatok megadásával, miután megadta a bemeneti karakterláncot a felhasználónak. Ez a blog bemutatta a LangChain ügynökeinek használatának folyamatát.