A LangChain LLM a város forró beszéde. Szerezzen áttekintést arról, hogy mi ez, és hogyan kezdheti el vele.
A nagy nyelvi modellek (LLM-ek) bevezetésével a Natural Language Processing szóba került az interneten. Naponta fejlesztenek új alkalmazásokat az olyan LLM-eknek köszönhetően, mint a ChatGPT és a LangChain.
A LangChain egy nyílt forráskódú Python-keretrendszer, amely lehetővé teszi a fejlesztők számára, hogy nagy nyelvi modelleken alapuló alkalmazásokat fejlesszenek. Alkalmazásai a chatbotok, az összegzés, a generatív kérdezés és válaszadás és még sok más.
Ez a cikk bemutatja a LangChain LLM-et. Kitér az alapfogalmakra, a többi nyelvi modellhez való viszonyítására, valamint az első lépésekre.
A LangChain LLM megértése
Mielőtt elmagyarázná a LangChain működését, először meg kell értenie hogyan működnek a nagy nyelvi modellek. A nagy nyelvi modell a mesterséges intelligencia (AI) egyik fajtája, amely mély tanulást alkalmaz a gépi tanulási modellek betanítása szöveges, numerikus és kódadatokból álló big data-ra.
A hatalmas mennyiségű adat lehetővé teszi a modell számára, hogy megtanulja a szavak, ábrák és szimbólumok közötti meglévő mintákat és kapcsolatokat. Ez a funkció lehetővé teszi a modell számára, hogy számos feladatot hajtson végre, például:
- Szöveggenerálás, nyelvi fordítás, kreatív, technikai és tudományos tartalomírás, valamint pontos és releváns kérdések megválaszolása.
- Tárgyérzékelés képekben.
- Könyvek, cikkek és kutatási munkák összefoglalása.
Az LLM-ek legjelentősebb korlátja az, hogy a modellek nagyon általánosak. Ez a funkció azt jelenti, hogy annak ellenére, hogy képesek több feladatot is hatékonyan végrehajtani, időnként teljesíthetnek általános válaszok olyan kérdésekre vagy kérdésekre, amelyek szakértelmet és mély területi ismeretet igényelnek a konkrét helyett válaszol.
A Harrison Chase által 2022 végén kifejlesztett LangChain keretrendszer innovatív megközelítést kínál az LLM-ek számára. A folyamat az adatkészlet szövegeinek előfeldolgozásával kezdődik, kisebb részekre bontással ill összefoglalók. Az összefoglalók ezután beágyazódnak egy vektortérbe. A modell kap egy kérdést, megkeresi az összefoglalókat, és megadja a megfelelő választ.
A LangChain előfeldolgozási módszere olyan kritikus funkció, amely elkerülhetetlen, mivel az LLM-ek egyre erősebbek és adatigényesebbek. Ezt a módszert főként kód- és szemantikai keresési esetekben használják, mivel valós idejű gyűjtést és interakciót biztosít az LLM-ekkel.
LangChain LLM vs. Egyéb nyelvi modellek
A következő összehasonlító áttekintés célja, hogy kiemelje azokat az egyedi jellemzőket és képességeket, amelyek a LangChain LLM-et megkülönböztetik a piacon lévő többi nyelvi modelltől:
- memória: Számos LLM-nek rövid a memóriája, ami általában kontextusvesztést eredményez, ha a promptok túllépik a memóriakorlátot. A LangChain azonban biztosítja a korábbi chat-prompteket és válaszokat, megoldva a memóriakorlátok problémáját. Az üzenetelőzmények lehetővé teszik a felhasználó számára, hogy megismételje az előző üzeneteket az LLM-nek, hogy összefoglalja az előző kontextust.
- LLM váltás: A többi LLM-hez képest, amelyek egyetlen modell API-jával zárolják a szoftvert, a LangChain olyan absztrakciót biztosít, amely leegyszerűsíti az LLM-ek váltását vagy több LLM integrálását az alkalmazásba. Ez akkor hasznos, ha szoftveres képességeit egy kompakt modell használatával szeretné frissíteni, például a Stability AI StableLM-jét, mondjuk az OpenAI GPT-3.5-ből.
- Integráció: A LangChain integrálása az alkalmazásba egyszerű a többi LLM-hez képest. Ez biztosítja a csővezeték munkafolyamatait láncok és ügynökök, amely lehetővé teszi a LangChain gyors beépítését az alkalmazásba. A lineáris csővezetékek szempontjából a láncok olyan tárgyak, amelyek lényegében számos részt kötnek össze. Az ügynökök fejlettebbek, lehetővé téve annak kiválasztását, hogy az összetevők hogyan működjenek együtt az üzleti logika segítségével. Például érdemes lehet feltételes logikát használni a következő lépések meghatározásához egy LLM eredményei alapján.
- Adatátadás: Az LLM-ek általános szövegalapú jellege miatt általában körülményes az adatok átadása a modellnek. A LangChain ezt a problémát a használatával oldja meg indexek. Az indexek lehetővé teszik az alkalmazás számára, hogy változó formátumban importáljon adatokat, és tárolja azokat oly módon, hogy soronként kiszolgálhassa azokat egy LLM-nek.
- Válaszok: A LangChain kimeneti elemző eszközöket biztosít a válaszok megfelelő formátumban történő megadásához, ellentétben más LLM-ekkel, amelyek modellválasza általános szövegből áll. Ha egy alkalmazásban mesterséges intelligenciát használ, előnyös, ha olyan strukturált választ kap, amely ellen programozhat.
Kezdő lépések a LangChain LLM-mel
Most megtudhatja, hogyan valósítsa meg a LangChaint valós használati forgatókönyvben, hogy megértse, hogyan működik. A fejlesztés megkezdése előtt be kell állítani a fejlesztői környezetet.
Fejlesztői környezet beállítása
Első, hozzon létre egy virtuális környezetet és telepítse az alábbi függőségeket:
- OpenAI: A GPT-3 API integrálása az alkalmazásba.
- LangChain: A LangChain integrálása az alkalmazásba.
A pip használatával futtassa az alábbi parancsot a függőségek telepítéséhez:
pipenv install langchain openai
A fenti parancs telepíti a csomagokat és létrehoz egy virtuális környezetet.
Importálja a telepített függőségeket
Először importálja a szükséges osztályokat, mint pl LLMCchain, OpenAI, Beszélgetési lánc, és PromptTemplate tól langchain csomag.
tól től langchain import ConversationChain, OpenAI, PromptTemplate, LLMChain
tól től langchain.memória import ConversationBufferWindowMemory
A LangChain osztályok felvázolják és végrehajtják a nyelvi modellláncokat.
Hozzáférés az OpenAI API-kulcshoz
Ezután szerezze be az OpenAI API kulcsot. Az OpenAI API-kulcsának eléréséhez OpenAI-fiókkal kell rendelkeznie, majd lépjen a OpenAI API platform.
Az irányítópulton kattintson a Profil ikonra. Ezután kattintson a API-kulcsok megtekintése gomb.
Ezután kattintson a Hozzon létre új titkos kulcsot gombot az új API kulcs beszerzéséhez.
Adja meg az API-kulcs kért nevét.
Megkapod a titkos kulcs gyors.
Másolja ki és tárolja biztonságos helyen az API-kulcsot későbbi használatra.
Alkalmazás fejlesztése LangChain LLM segítségével
Most folytathatja egy egyszerű csevegőalkalmazás fejlesztését az alábbiak szerint:
# Az LLM sablon testreszabása
sablon = Az Assistant az OpenAI által kiképzett nagy nyelvi modell.{történelem}
Ember: {human_input}
Helyettes:
prompt = PromptTemplate (input_variables=["történelem", "human_input"], sablon=sablon)
Ezután betölti a ChatGPT-láncot a korábban tárolt API-kulcs használatával.
chatgpt_chain = LLMChain(
llm=OpenAI(openai_api_key="OPENAI_API_KEY",hőmérséklet=0),
prompt=prompt,
bőbeszédű=Igaz,
memory=ConversationBufferWindowMemory (k=2),
)
# Jósoljon meg egy mondatot a chatgpt lánc segítségével
output = chatgpt_chain.predict(
human_input="What is MakeUseOf?"
)
# A modell válaszának megjelenítése
nyomtatás (kimenet)
Ez a kód betölti az LLM-láncot az OpenAI API kulccsal és a prompt sablonnal. Ekkor megjelenik a felhasználói bevitel, és megjelenik a kimenete.
Fent látható a várt kimenet.
Az LLM-ek növekvő befolyása
Az LLM-ek fogyasztása gyorsan növekszik, és megváltoztatja az emberek és a tudásgépek közötti interakciót. Az olyan keretrendszerek, mint a LangChain, élen járnak abban, hogy a fejlesztők zökkenőmentesen és egyszerűen szolgálják ki az LLM-eket az alkalmazások számára. Az olyan generatív mesterséges intelligencia modellek, mint a ChatGPT, a Bard és a Hugging Face, szintén nem maradnak le az LLM alkalmazások fejlesztésében.