Mi az ügynök a LangChainben?

Mi Az Ugynok A Langchainben



A LangChain keretrendszert nyelvi modelleket használó alkalmazások fejlesztésére használják. Az LLM-ek általános válaszokat adnak, nem céloznak meg semmilyen konkrét területet, miközben a LangChain rendelkezik a legerősebb attribútummal, amellyel olyan láncokat hozhat létre, amelyekben a felhasználók több összetevőt kombinálhatnak, és egyetlen koherens alkalmazást hozhatnak létre. A LangChain számos modult, adatkapcsolatot, láncot, ügynököt, memóriát és visszahívást tartalmaz.

Ebben a cikkben a LangChain ügynökeit minden lehetséges aspektusból megvitatjuk

Mi az ügynök a LangChainben?

Egyes alkalmazások nem csak előre meghatározott láncokat igényelnek, hanem egy ismeretlen láncot is, amely a felhasználó bevitelétől függ. Ilyen esetre létezik egy „ ügynök ” akik hozzáférnek az eszközhöz, és eldöntik, hogy melyik eszközre van szükség a felhasználó által megadott adatok alapján, és azt, hogy mit kér. Az eszköztár alapvetően egy olyan eszközkészlet, amely egy adott cél eléréséhez szükséges, és egy eszköztárban 3-5 eszköz található.







A LangChain ügynökök típusai

Két fő ügynök van:



  • Akcióügynökök
  • Tervezés és végrehajtás ügynökök

Akcióügynökök: Ezek az ágensek úgy döntenek, hogy lépésről lépésre kiértékelik az egyes lépéseket, majd végrehajtják, és a következőre lépnek, ha az ügynök pszeudokódját tárgyaljuk, amely néhány lépésből áll.



  • A bemenet a felhasználótól érkezik.
  • Az ügynök dönt a szerszámról és arról, hogy milyen típusú szerszámra van szükség.
  • Ezt az eszközt a bemeneti eszközzel meghívjuk, és a megfigyelést rögzítjük.
  • Az előzményeszköz, a megfigyelőeszköz és a beviteli eszköz visszakerül az ügynökhöz.
  • Ismételje meg a folyamatot, amíg az ügynök úgy dönt, hogy kilép az eszközből.

Tervezés és végrehajtás ügynökök: Ezek az ügynökök először döntenek a végrehajtandó műveletről, majd végrehajtják az összes műveletet.





  • Felhasználói bevitel fogadva.
  • Az ügynök felsorolja az összes végrehajtandó lépést.
  • A végrehajtó végigmegy a lépések listáján, végrehajtja azokat.

Ügynök beállítása

Az ügynök beállítása előtt telepítenie kell a legújabb verziót Piton operációs rendszerének megfelelően.

1. lépés: Csomagok telepítése
Először is létre kell hoznunk egy környezetet ehhez telepítenünk kell a LangChaint, a google-search-results-t és az openai-t a ' csipog 'parancs:



! csipog telepítés langchain
! csipog telepítés google-search-results
! csipog telepítés openai

Szükséges könyvtárak importálása:

innen: langchain.schema import SystemMessage
a langchain.agents webhelyről importálja az OpenAIFunctionsAgentet, az AgentExecutort
a langchain.agents importáló eszközből
a langchain.chat_models webhelyről importálja a ChatOpenAI-t
import re
getpass importból getpass

2. lépés: Szerezze be titkos API-ját
A környezet beállítása után most titkos API-kulcsokat kell beszereznie az OpenAI platformról:

openai_api_key = getpass ( )
llm = ChatOpenAI ( openai_api_key =openai_api_key, hőfok = 0 )

3. lépés: Az eszköz inicializálása
Ezután definiáljunk egy eszközt, egyszerű Python-kódot írva a karakterlánc hosszának meghatározásához.

@ eszköz
def get_word_string ( szó: str ) - > int:
'' 'Add meg egy húr hosszát.' ''
Visszatérés csak ( szó )

eszközök = [ get_word_string ]

4. lépés: Hozzon létre egy prompt sablont
Az eszköz meghatározása után állítson be egy Prompt Template-t ehhez a használathoz 'OpenAIFunctionsAgent.create_prompt()' segítő funkció, amely automatikusan létrehozza a sablont.

system_message = Rendszerüzenet ( tartalom = – Ön nagyon erős asszisztens, de rosszul tudja kiszámítani a húr hosszát. )
prompt = OpenAIFunctionsAgent.create_prompt ( system_message =rendszer_üzenet )

5. lépés: Ügynök létrehozása
Most lezárhatjuk az összes darabot, és létrehozhatunk egy ügynököt egy nevezett függvény segítségével „OpenAIFunctionsAgent()” .

agent = OpenAIFunctionsAgent ( llm =llm, eszközöket =eszközök, gyors = felszólítás )

6. lépés: A Runtime beállítása
Ha sikeresen hozott létre egy ügynököt, akkor hozzon létre egy futási környezetet az ügynök számára, ehhez az „AgentExecutor” lesz az ügynök futási környezete.

agent_executor = AgentExecutor ( ügynök = ügynök, eszközöket =eszközök, bőbeszédű = Igaz )

7. lépés: Ügynökteszt
A Runtime létrehozása után itt az ideje tesztelni az ügynököt.

agent_executor.run ( – Hány szavas van ez a karakterlánc? )

Ha a 2. lépésben a megfelelő API-kulcsot adta meg, választ fog kapni.

Következtetés

Ezt a cikket sok szempontból illusztrálták, először bemutatja, mi az a LangChain, és hogyan működik, majd áttér a LangChain ügynökeire, és tárgyalja a LangChain ügynökeinek célját, és információkat tartalmaz az ügynökök két fő típusáról. „Akcióügynökök” és 'Tervezz és hajtsd végre ügynökök' A LangChainben használt program, a kódvégrehajtás pedig egy ügynök létrehozása volt a LangChainben