Kép a szerkesztőtől
A nagy nyelvi modellek (LLM-ek), mint például az OpenAI GPT-3, a Google BERT és a Meta LLaMA, forradalmasítják a különböző szektorokat azzal a képességükkel, hogy szövegek széles skáláját generálják – a marketingmásolattól és az adattudományi szkriptektől a költészetig.
Annak ellenére, hogy a ChatGPT intuitív kezelőfelülete ma már a legtöbb ember eszközén megtalálható, még mindig rengeteg kiaknázatlan lehetőség rejlik az LLM-ek különféle szoftverintegrációkban való használatában.
A fő probléma?
A legtöbb alkalmazás rugalmasabb és natív kommunikációt igényel az LLM-ekkel.
És pontosan ez az a hely, ahol a LangChain beindul!
Ha érdekli a generatív mesterséges intelligencia és az LLM-ek, ez az oktatóanyag személyre szabottan áll az Ön számára.
Szóval… kezdjük!
Arra az esetre, ha egy barlangban éltél, és az utóbbi időben nem kaptál híreket, röviden elmagyarázom a Large Language Models vagy LLM-eket.
Az LLM egy kifinomult mesterséges intelligencia rendszer, amelyet az emberhez hasonló szövegértés és -generálás utánoztak. Hatalmas adathalmazokra oktatva ezek a modellek bonyolult mintákat fedeznek fel, megragadják a nyelvi finomságokat, és koherens kimeneteket állítanak elő.
Ha kíváncsi arra, hogyan kommunikáljon ezekkel a mesterséges intelligencia alapú modellekkel, ennek két fő módja van:
- A leggyakoribb és legközvetlenebb módja a modellel való beszélgetés vagy csevegés. Ez magában foglalja egy prompt elkészítését, elküldését az AI-alapú modellnek, és válaszként szöveges kimenetet kap.
- Egy másik módszer a szöveg numerikus tömbökké alakítása. Ez a folyamat magában foglalja egy prompt összeállítását az AI számára, és cserébe egy numerikus tömböt kap. Amit általában „beágyazásnak” neveznek. A közelmúltban a vektoros adatbázisok és a szemantikai keresés felfutását tapasztalta.
És a LangChain éppen ezzel a két fő problémával próbál foglalkozni. Ha érdeklik az LLM-ekkel való interakció főbb problémái, megtekintheti ezt a cikket itt.
A LangChain egy nyílt forráskódú keretrendszer, amely LLM-ek köré épül. Olyan eszközök, komponensek és interfészek arzenálját hozza az asztalra, amelyek leegyszerűsítik az LLM-vezérelt alkalmazások architektúráját.
A LangChain segítségével a nyelvi modellek használata, a különféle összetevők összekapcsolása és az olyan eszközök beépítése, mint az API-k és adatbázisok, gyerekjáték. Ez az intuitív keretrendszer jelentősen leegyszerűsíti az LLM alkalmazásfejlesztési utat.
A Long Chain alapötlete az, hogy összekapcsolhatunk különböző alkatrészeket vagy modulokat, más néven láncokat, hogy kifinomultabb LLM-alapú megoldásokat hozzunk létre.
Íme a LangChain néhány kiemelkedő funkciója:
- Testreszabható prompt sablonok interakcióink szabványosításához.
- Kifinomult felhasználási esetekre szabott láncszem alkatrészek.
- Zökkenőmentes integráció a vezető nyelvi modellekkel, beleértve az OpenAI GPT-ket és a HuggingFace Hub-on lévőket.
- Moduláris komponensek a mix-and-match megközelítéshez bármely konkrét probléma vagy feladat felméréséhez.
A kép szerzője
A LangChain az alkalmazkodóképességre és a moduláris felépítésre összpontosít.
A LangChain mögött meghúzódó fő ötlet a természetes nyelvi feldolgozási szekvencia egyedi részekre bontása, lehetővé téve a fejlesztők számára, hogy igényeik szerint testreszabják a munkafolyamatokat.
Ez a sokoldalúság a LangChaint kiváló választássá teszi a mesterséges intelligencia megoldások kidolgozásához különböző helyzetekben és iparágakban.
Néhány legfontosabb összetevője a…
A kép szerzője
1. LLM-ek
Az LLM-ek alapvető összetevői, amelyek hatalmas mennyiségű képzési adatot hasznosítanak az emberhez hasonló szöveg megértéséhez és létrehozásához. Ezek képezik a LangChain számos műveletének magját, biztosítva a szükséges nyelvi feldolgozási képességeket a szövegbevitel elemzéséhez, értelmezéséhez és reagálásához.
Használat: Chatbotok működtetése, emberszerű szövegek generálása különféle alkalmazásokhoz, információkeresés segítése és egyéb nyelvi feldolgozások végrehajtása
2. Kérdezősablonok
A promptok alapvető fontosságúak az LLM-mel való interakcióban, és ha konkrét feladatokon dolgozunk, szerkezetük hasonló. A prompt sablonok, amelyek előre beállított promptok, amelyek a láncokon keresztül használhatók, lehetővé teszik a „prompts” szabványosítását meghatározott értékek hozzáadásával. Ez javítja bármely LLM alkalmazkodóképességét és testreszabhatóságát.
Használat: Az LLM-ekkel való interakció folyamatának szabványosítása.
3. Kimeneti elemzők
A kimeneti elemzők olyan összetevők, amelyek a lánc előző szakaszának nyers kimenetét veszik át, és strukturált formátumba konvertálják. Ezek a strukturált adatok azután hatékonyabban felhasználhatók a következő szakaszokban, vagy válaszként eljuttathatók a végfelhasználóhoz.
Használat: Például egy chatbotban a kimeneti elemző kiveheti a nyers szöveges választ egy nyelvi modellből, kivonhatja a kulcsfontosságú információkat, és strukturált válaszokká formázhatja azokat.
4. Alkatrészek és láncok
A LangChainben minden egyes komponens modulként működik, amely egy adott feladatért felelős a nyelvi feldolgozási sorozatban. Ezek az alkatrészek formához köthetők láncok testreszabott munkafolyamatokhoz.
Használat: Érzelmészlelés és válaszgenerátor láncok generálása egy adott chatbotban.
5. memória
A Memória a LangChainben egy olyan összetevőre utal, amely egy munkafolyamaton belüli információ tárolási és visszakeresési mechanizmusát biztosítja. Ez az összetevő lehetővé teszi olyan adatok ideiglenes vagy tartós tárolását, amelyekhez más összetevők hozzáférhetnek és manipulálhatók az LLM-mel való interakció során.
Használat: Ez olyan forgatókönyvekben hasznos, amikor az adatokat a feldolgozás különböző szakaszaiban kell megőrizni, például beszélgetési előzményeket kell tárolni egy chatbotban, hogy környezettudatos válaszokat adjon.
6. Ügynökök
Az ügynökök autonóm komponensek, amelyek az általuk feldolgozott adatok alapján műveleteket hajthatnak végre. Együttműködhetnek más összetevőkkel, külső rendszerekkel vagy felhasználókkal a LangChain munkafolyamaton belüli meghatározott feladatok elvégzése érdekében.
Használat: Például egy ügynök kezelheti a felhasználói interakciókat, feldolgozhatja a bejövő kéréseket, és koordinálhatja az adatáramlást a láncon keresztül a megfelelő válaszok generálásához.
7. Indexek és retrieverek
Az indexek és a retrieverek döntő szerepet játszanak az adatok hatékony kezelésében és elérésében. Az indexek olyan adatstruktúrák, amelyek információkat és metaadatokat tartalmaznak a modell betanítási adataiból. Másrészt a retrieverek olyan mechanizmusok, amelyek kölcsönhatásba lépnek ezekkel az indexekkel, hogy meghatározott kritériumok alapján releváns adatokat kapjanak le, és lehetővé teszik a modell számára, hogy a releváns kontextus megadásával jobban válaszoljon.
Használat: Segítségükkel gyorsan lekérhetők a releváns adatok vagy dokumentumok egy nagy adatkészletből, ami elengedhetetlen olyan feladatokhoz, mint az információkeresés vagy a kérdések megválaszolása.
8. Dokumentumtranszformátorok
A LangChainben a dokumentumtranszformátorok olyan speciális komponensek, amelyek a dokumentumok feldolgozására és átalakítására szolgálnak oly módon, hogy azok alkalmassá váljanak további elemzésre vagy feldolgozásra. Ezek az átalakítások olyan feladatokat foglalhatnak magukban, mint a szöveg normalizálása, a jellemzők kinyerése vagy a szöveg átalakítása más formátumba.
Használat: Szöveges adatok előkészítése a következő feldolgozási szakaszokhoz, például gépi tanulási modellekkel történő elemzéshez vagy indexeléshez a hatékony visszakeresés érdekében.
9. Modellek beágyazása
Szöveges adatok numerikus vektorokká alakítására szolgálnak nagy dimenziójú térben. Ezek a modellek a szavak és kifejezések közötti szemantikai kapcsolatokat rögzítik, lehetővé téve a géppel olvasható megjelenítést. Ezek adják az alapját a különféle természetes nyelvi feldolgozási (NLP) feladatoknak a LangChain ökoszisztémán belül.
Használat: Szemantikai keresések, hasonlósági összehasonlítások és egyéb gépi tanulási feladatok megkönnyítése a szöveg numerikus megjelenítésével.
10. Vektor üzletek
Adatbázisrendszer típusa, amely információk tárolására és keresésére specializálódott beágyazásokon keresztül, lényegében szövegszerű adatok numerikus megjelenítését elemezve. A VectorStore ezeknek a beágyazásoknak a tárolására szolgál.
Használat: A szemantikai hasonlóságon alapuló hatékony keresés lehetővé tétele.
Telepítés a PIP segítségével
Az első dolgunk, hogy megbizonyosodjunk arról, hogy a LangChain telepítve van a környezetünkben.
pip install langchain
Környezet beállítása
A LangChain használata általában azt jelenti, hogy különféle modellszolgáltatókkal, adattárolókkal, API-kkal és egyéb komponensekkel integrálódik. És amint azt már tudja, mint minden integráció, a megfelelő és helyes API-kulcsok biztosítása kulcsfontosságú a LangChain működéséhez.
Képzeld el, hogy az OpenAI API-nkat szeretnénk használni. Ezt kétféleképpen tudjuk könnyen megvalósítani:
- Kulcs beállítása környezeti változóként
OPENAI_API_KEY="..."
or
import os
os.environ['OPENAI_API_KEY'] = “...”
Ha úgy dönt, hogy nem hoz létre környezeti változót, akkor az OpenAI LLM osztály indításakor közvetlenül megadhatja a kulcsot az openai_api_key named paraméteren keresztül:
- Közvetlenül állítsa be a kulcsot a megfelelő osztályban.
from langchain.llms import OpenAI
llm = OpenAI(openai_api_key="...")
Az LLM-ek közötti váltás egyszerűvé válik
A LangChain egy LLM osztályt biztosít, amely lehetővé teszi számunkra, hogy különböző nyelvi modell-szolgáltatókkal kommunikáljunk, mint például az OpenAI és a Hugging Face.
Meglehetősen könnyű elkezdeni bármely LLM-et, mivel bármely LLM legalapvetőbb és legkönnyebben megvalósítható funkciója a szöveg generálása.
Azonban nem olyan egyszerű ugyanazt a felszólítást egyszerre különböző LLM-eknek kérni.
Itt kezdődik a LangChain…
Visszatérve bármely LLM legegyszerűbb funkciójához, egyszerűen létrehozhatunk egy alkalmazást a LangChain segítségével, amely karakterlánc-promptot kap, és visszaadja a kijelölt LLM kimenetét.
A szerző kódja
Egyszerűen használhatjuk ugyanazt a promptot, és néhány kódsoron belül megkapjuk két különböző modell válaszát!
A szerző kódja
Lenyűgöző… igaz?
A promptok strukturálása prompt sablonokkal
A nyelvi modellek (LLM) általános problémája az, hogy nem képesek összetett alkalmazásokat kiterjeszteni. A LangChain ezt úgy kezeli, hogy megoldást kínál a promptok létrehozásának folyamatának egyszerűsítésére, amely gyakran bonyolultabb, mint egy feladat meghatározása, mivel megköveteli az AI személyének felvázolását és a tények pontosságának biztosítását. Ennek jelentős része ismétlődő, ismétlődő szöveges szöveg. A LangChain ezt enyhíti azáltal, hogy prompt sablonokat kínál, amelyek automatikusan beillesztik a sablonszöveget az új promptokba, így leegyszerűsítve a felszólítások létrehozását és biztosítva a konzisztenciát a különböző feladatok között.
A szerző kódja
Strukturált válaszok lekérése kimeneti elemzőkkel
A chat alapú interakciók során a modell kimenete csupán szöveg. A szoftveralkalmazásokon belül azonban előnyösebb a strukturált kimenet, mivel ez további programozási műveleteket tesz lehetővé. Például egy adatkészlet generálásakor a választ adott formátumban, például CSV vagy JSON formátumban kell fogadni. Feltételezve, hogy egy prompt úgy alakítható ki, hogy az AI következetes és megfelelően formázott választ kapjon, szükség van eszközökre a kimenet kezeléséhez. A LangChain megfelel ennek a követelménynek azáltal, hogy kimeneti elemző eszközöket kínál a strukturált kimenet hatékony kezelésére és felhasználására.
A szerző kódja
Megnézheti a teljes kódot az én oldalamon GitHub.
Nem sokkal ezelőtt a ChatGPT fejlett képességei meghökkentettek bennünket. A technológiai környezet azonban folyamatosan változik, és most olyan eszközök, mint a LangChain, a kezeink ügyében vannak, lehetővé téve számunkra, hogy néhány óra alatt kiváló prototípusokat készítsünk személyi számítógépeinkről.
A LangChain, egy ingyenesen elérhető Python platform, lehetőséget biztosít a felhasználóknak az LLM-ek (Language Model Models) által rögzített alkalmazások fejlesztésére. Ez a platform rugalmas felületet biztosít számos alapmodellhez, ésszerűsíti az azonnali kezelést, és összekötő elemként működik az olyan elemek számára, mint a prompt sablonok, további LLM-ek, külső információk és egyéb erőforrások a jelenlegi dokumentáció szerint.
Képzeld el a chatbotokat, a digitális asszisztenseket, a nyelvi fordítóeszközöket és a hangulatelemző segédprogramokat; Mindezek az LLM-kompatibilis alkalmazások életre kelnek a LangChain segítségével. A fejlesztők ezt a platformot használják egyedi igényekre szabott nyelvi modellmegoldások kidolgozására.
Ahogy a természetes nyelvi feldolgozás horizontja tágul, és átvétele elmélyül, alkalmazási köre határtalannak tűnik.
Josep Ferrer elemző mérnök Barcelonából. Fizikai mérnöki diplomát szerzett, jelenleg az emberi mobilitásra vonatkozó adattudományi területen dolgozik. Ő egy részmunkaidős tartalomkészítő, aki az adattudományra és a technológiára összpontosít. Felveheti vele a kapcsolatot LinkedIn, Twitter or közepes.
- SEO által támogatott tartalom és PR terjesztés. Erősödjön még ma.
- PlatoData.Network Vertical Generative Ai. Erősítse meg magát. Hozzáférés itt.
- PlatoAiStream. Web3 Intelligence. Felerősített tudás. Hozzáférés itt.
- PlatoESG. Carbon, CleanTech, Energia, Környezet, Nap, Hulladékgazdálkodás. Hozzáférés itt.
- PlatoHealth. Biotechnológiai és klinikai vizsgálatok intelligencia. Hozzáférés itt.
- Forrás: https://www.kdnuggets.com/how-to-make-large-language-models-play-nice-with-your-software-using-langchain?utm_source=rss&utm_medium=rss&utm_campaign=how-to-make-large-language-models-play-nice-with-your-software-using-langchain
- :van
- :is
- :nem
- :ahol
- $ UP
- 7
- a
- képesség
- igénybe vett
- Hozzáférés
- elérni
- pontosság
- át
- ható
- cselekvések
- cselekmények
- hozzáadásával
- cím
- címek
- címzés
- Örökbefogadás
- fejlett
- Ügynök
- szerek
- Augusztus
- AI
- AI-hajtású
- Minden termék
- lehetővé
- lehetővé téve
- lehetővé teszi, hogy
- már
- Is
- között
- Összegek
- an
- elemzés
- analitika
- elemez
- elemzése
- lehorgonyzott
- és a
- bármilyen
- api
- API-k
- Alkalmazás
- Application Development
- alkalmazások
- alkalmazott
- megközelítés
- megfelelő
- építészet
- VANNAK
- körül
- Sor
- fegyverraktár
- cikkben
- mesterséges
- mesterséges intelligencia
- AS
- kér
- értékeli
- Eszközök
- asszisztensek
- At
- autonóm
- elérhető
- FÉLELEM
- vissza
- barcelona
- alapján
- alapvető
- BE
- válik
- válik
- óta
- mögött
- Jobb
- között
- Határtalan
- Törés
- tömören
- Bring
- épít
- Épület
- épült
- by
- TUD
- képességek
- képes
- elfog
- eset
- esetek
- kiszolgál
- barlang
- lánc
- láncok
- chatbot
- chatbots
- ChatGPT
- beszélgetni
- ellenőrizze
- választás
- A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a
- osztály
- kód
- ÖSSZEFÜGGŐ
- hogyan
- Közös
- általában
- közlés
- összehasonlítások
- bonyolult
- összetevő
- alkatrészek
- számítógépek
- Csatlakozás
- összefüggő
- következetes
- kapcsolat
- tartalom
- kontextus
- Beszélgetés
- Átalakítás
- megtérít
- konvertáló
- koordináta
- Mag
- kijavítására
- kézműves
- kidolgozott
- teremt
- létrehozása
- teremtés
- Teremtő
- kritériumok
- kritikus
- Jelenlegi
- Jelenleg
- testreszabás
- testre
- szabott
- dátum
- adat-tudomány
- adatkészletek
- adatbázis
- adatbázisok
- elmélyül
- meghatározó
- szállított
- szállít
- Design
- kijelölt
- tervezett
- kívánatos
- Érzékelés
- Fejleszt
- fejlesztők
- Fejlesztés
- Eszközök
- különböző
- digitális
- közvetlen
- közvetlenül
- megkülönböztet
- különböző
- Kiváló
- számos
- do
- dokumentum
- dokumentáció
- dokumentumok
- le-
- alatt
- minden
- legegyszerűbb
- könnyen
- könnyű
- ökoszisztéma
- hatékonyan
- hatékony
- eredményesen
- elemek
- beágyazás
- lehetővé téve
- végén
- vonzó
- mérnök
- Mérnöki
- Javítja
- hatalmas
- biztosítása
- Környezet
- eszkalálódnak
- alapvető
- lényegében
- létrehozni
- Eter (ETH)
- folyton változó
- példa
- kitágul
- tapasztalt
- Magyarázza
- külső
- kivonat
- kitermelés
- Arc
- Objektum
- Tényleges
- Funkció
- Jellemzők
- kevés
- mező
- ujjhegyek
- vezetéknév
- rugalmas
- áramlási
- folyadék
- Összpontosít
- összpontosított
- A
- forma
- formátum
- Alapítvány
- Alapítványi
- Keretrendszer
- önként
- ból ből
- funkcionalitás
- alapvető
- további
- generál
- generáló
- generáció
- nemző
- Generatív AI
- generátor
- kap
- szerzés
- Go
- fogás
- kéz
- fogantyú
- Kezelés
- Legyen
- tekintettel
- he
- őt
- történelem
- holding
- horizont
- NYITVATARTÁS
- Hogyan
- How To
- HTTPS
- Kerékagy
- HuggingFace
- emberi
- BETEG
- ötlet
- if
- importál
- fontos
- in
- képtelenség
- tartalmaz
- Beleértve
- Bejövő
- amely magában foglalja
- indexek
- egyéni
- iparágak
- információ
- kezdeményező
- bemenet
- telepíteni
- példa
- hangszeres
- integrálása
- integráció
- integrációk
- Intelligencia
- kölcsönhatásba
- kölcsönható
- kölcsönhatás
- kölcsönhatások
- érdekelt
- Felület
- interfészek
- összekapcsolása
- bele
- bonyolult
- intuitív
- jár
- kérdés
- IT
- ITS
- utazás
- json
- éppen
- KDnuggets
- Kulcs
- kulcsok
- Kicks
- Ismer
- ismert
- táj
- nyelv
- nagy
- vezető
- tanulás
- balra
- Tőkeáttétel
- élet
- mint
- vonalak
- LINK
- élő
- Láma
- Hosszú
- gép
- gépi tanulás
- Fő
- csinál
- KÉSZÍT
- kezelése
- sikerült
- kezelése
- manipulált
- sok
- Marketing
- Lehet..
- eszközök
- mechanizmus
- mechanizmusok
- csupán
- Metaadatok
- módszer
- esetleg
- mobilitás
- modell
- modellek
- moduláris
- modul
- Modulok
- több
- a legtöbb
- my
- Nevezett
- bennszülött
- Természetes
- Természetes nyelv
- Természetes nyelvi feldolgozás
- elengedhetetlen
- Szükség
- igények
- Új
- hír
- összefüggés
- szép
- NLP
- Most
- of
- felajánlás
- gyakran
- on
- egyszer
- nyílt forráskódú
- OpenAI
- működés
- Művelet
- opció
- or
- OS
- Más
- mi
- felvázolva
- teljesítmény
- kimenetek
- kiemelkedő
- paraméter
- rész
- különös
- alkatrészek
- minták
- Emberek (People)
- teljesít
- előadó
- személyes
- Személyi számítógépek
- kifejezés
- Fizika
- darabok
- emelvény
- Plató
- Platón adatintelligencia
- PlatoData
- játszani
- Költészet
- pozíciók
- potenciális
- pontosan
- előnyös
- Első
- Probléma
- problémák
- folyamat
- feldolgozás
- gyárt
- Programozás
- utasításokat
- prototípusok
- ad
- szolgáltatók
- biztosít
- amely
- Piton
- kérdés
- gyorsan
- egészen
- Nyers
- birodalom
- fogadó
- új
- kifejezés
- Kapcsolatok
- ismétlő
- válasz
- képviselet
- kéri
- szükség
- követelmény
- követelmények
- megköveteli,
- Tudástár
- Reagálni
- válasz
- válaszok
- felelős
- visszatartott
- visszatérés
- Visszatér
- Optimális
- jobb
- Szerep
- s
- azonos
- forgatókönyvek
- Tudomány
- Tudomány és technológia
- szkriptek
- Keresés
- keresések
- ágazatok
- Úgy tűnik,
- elküldés
- érzés
- Sorozat
- szolgálja
- készlet
- Szettek
- beállítás
- jelentős
- hasonló
- egyszerűsíti
- egyszerűsítése
- egyszerűen
- helyzetek
- So
- szoftver
- megoldások
- Megoldások
- néhány
- kifinomult
- Hely
- specializált
- specializálódott
- különleges
- meghatározott
- Színpad
- állapota
- szabványosítás
- kezdődött
- Még mindig
- tárolás
- tárolni
- árnyékolók
- áramvonal
- ésszerűsítése
- Húr
- struktúra
- szerkesztett
- struktúrák
- későbbi
- lényegesen
- ilyen
- megfelelő
- ellátó
- biztos
- túlfeszültség
- rendszer
- Systems
- táblázat
- szabott
- Vesz
- bevétel
- beszéd
- Feladat
- feladatok
- technikai
- Technológia
- sablonok
- ideiglenes
- hajlamos
- szöveg
- szövegi
- mint
- hogy
- A
- azok
- Őket
- akkor
- Ott.
- Ezek
- ők
- dolog
- ezt
- azok
- bár?
- Keresztül
- Így
- nak nek
- Ma
- együtt
- szerszámok
- Képzések
- Átalakítás
- transzformációk
- transzformerek
- Fordítás
- oktatói
- kettő
- jellemzően
- megért
- megértés
- kiaknázatlan
- us
- használható
- használ
- használt
- használó
- Felhasználók
- segítségével
- segédprogramok
- hasznosít
- Értékek
- változó
- fajta
- különféle
- Hatalmas
- sokoldalúság
- nagyon
- keresztül
- akar
- Út..
- módon
- we
- Mit
- Mi
- amikor
- ami
- egész
- széles
- val vel
- belül
- csoda
- szavak
- munkafolyamat
- munkafolyamatok
- dolgozó
- még
- te
- A te
- zephyrnet