Slika urednika
Veliki jezikovni modeli (LLM), kot so OpenAI-jev GPT-3, Googlov BERT in Metin LLaMA, s svojo zmožnostjo ustvarjanja širokega nabora besedil – od marketinških besedil in podatkovnih skriptov do poezije – revolucionirajo različne sektorje.
Čeprav je intuitivni vmesnik ChatGPT danes uspel biti v napravah večine ljudi, še vedno obstaja ogromno neizkoriščenega potenciala za uporabo LLM-jev v različnih programskih integracijah.
Glavni problem?
Večina aplikacij zahteva bolj tekočo in domačo komunikacijo z LLM-ji.
In ravno tu nastopi LangChain!
Če vas zanimata Generative AI in LLMs, je ta vadnica prilagojena za vas.
Torej… začnimo!
Samo v primeru, da živite v jami in v zadnjem času niste prejeli nobenih novic, vam bom na kratko razložil velike jezikovne modele ali LLM.
LLM je sofisticiran sistem umetne inteligence, zgrajen tako, da posnema človeško podobno razumevanje in ustvarjanje besedil. Z usposabljanjem na ogromnih naborih podatkov ti modeli prepoznajo zapletene vzorce, dojamejo jezikovne tankosti in ustvarijo skladne rezultate.
Če se sprašujete, kako komunicirati s temi modeli, ki jih poganja AI, obstajata dva glavna načina za to:
- Najbolj pogost in neposreden način je pogovor ali klepet z modelom. Vključuje izdelavo poziva, njegovo pošiljanje modelu, ki ga poganja umetna inteligenca, in pridobivanje besedilnega izhoda kot odgovor.
- Druga metoda je pretvorba besedila v številske nize. Ta postopek vključuje sestavljanje poziva za AI in v zameno prejem številskega niza. Kar je splošno znano kot "vdelava". Nedavno je doživel porast v vektorskih bazah podatkov in semantičnem iskanju.
In ravno ta dva glavna problema poskuša LangChain obravnavati. Če vas zanimajo glavne težave pri interakciji z LLM, si lahko ogledate ta članek tukaj.
LangChain je odprtokodno ogrodje, zgrajeno okoli LLM. Na mizo prinaša arzenal orodij, komponent in vmesnikov, ki racionalizirajo arhitekturo aplikacij, ki jih poganja LLM.
Z LangChain postane sodelovanje z jezikovnimi modeli, medsebojno povezovanje različnih komponent in vključevanje sredstev, kot so API-ji in podatkovne baze, prava stvar. To intuitivno ogrodje bistveno poenostavi pot razvoja aplikacij LLM.
Osrednja ideja dolge verige je, da lahko skupaj povežemo različne komponente ali module, znane tudi kot verige, da ustvarimo bolj izpopolnjene rešitve, ki jih poganja LLM.
Tukaj je nekaj izjemnih funkcij LangChaina:
- Prilagodljive predloge pozivov za standardizacijo naših interakcij.
- Komponente členkov verige, prilagojene za prefinjene primere uporabe.
- Brezhibna integracija z vodilnimi jezikovnimi modeli, vključno z GPT-ji OpenAI in tistimi na HuggingFace Hub.
- Modularne komponente za pristop mešanja in ujemanja za oceno katere koli specifične težave ali naloge.
Slika avtorja
LangChain odlikuje osredotočenost na prilagodljivost in modularnost.
Glavna ideja za LangChain je razčlenitev zaporedja obdelave naravnega jezika na posamezne dele, kar razvijalcem omogoča prilagajanje delovnih tokov glede na njihove zahteve.
Takšna vsestranskost postavlja LangChain kot glavno izbiro za izdelavo rešitev AI v različnih situacijah in panogah.
Nekatere izmed njegovih najpomembnejših komponent so…
Slika avtorja
1. LLM
LLM so temeljne komponente, ki izkoriščajo ogromne količine podatkov o usposabljanju za razumevanje in ustvarjanje besedila, podobnega človeku. So jedro številnih operacij znotraj LangChaina, saj zagotavljajo potrebne zmožnosti jezikovne obdelave za analizo, interpretacijo in odzivanje na vnos besedila.
Uporaba: Omogočanje klepetalnih robotov, generiranje besedila, podobnega človeku, za različne aplikacije, pomoč pri iskanju informacij in izvajanje druge jezikovne obdelave
2. Predloge pozivov
Pozivi so bistveni za interakcijo z LLM in pri delu na določenih nalogah je njihova struktura ponavadi podobna. Predloge pozivov, ki so prednastavljeni pozivi, uporabni v več verigah, omogočajo standardizacijo »pozivov« z dodajanjem določenih vrednosti. To povečuje prilagodljivost in prilagajanje katerega koli LLM.
Uporaba: Standardizacija procesa interakcije z LLM.
3. Izhodni razčlenjevalniki
Izhodni razčlenjevalniki so komponente, ki vzamejo neobdelane izhodne podatke iz predhodne stopnje v verigi in jih pretvorijo v strukturirano obliko. Te strukturirane podatke je nato mogoče učinkoviteje uporabiti v naslednjih fazah ali jih dostaviti kot odgovor končnemu uporabniku.
Uporaba: Na primer, v chatbotu lahko izhodni razčlenjevalnik vzame odziv neobdelanega besedila iz jezikovnega modela, izvleče ključne dele informacij in jih oblikuje v strukturiran odgovor.
4. Sestavni deli in verige
V LangChainu vsaka komponenta deluje kot modul, odgovoren za določeno nalogo v zaporedju obdelave jezika. Te komponente je mogoče povezati v obliko verige za prilagojene poteke dela.
Uporaba: Ustvarjanje zaznavanja razpoloženja in verig generatorjev odgovorov v določenem chatbotu.
5. Spomin
Pomnilnik v LangChain se nanaša na komponento, ki zagotavlja mehanizem za shranjevanje in pridobivanje informacij znotraj poteka dela. Ta komponenta omogoča začasno ali trajno shranjevanje podatkov, do katerih lahko dostopajo in z njimi manipulirajo druge komponente med interakcijo z LLM.
Uporaba: To je uporabno v scenarijih, kjer je treba podatke hraniti v različnih fazah obdelave, na primer shranjevanje zgodovine pogovorov v chatbot za zagotavljanje odzivov, ki se zavedajo konteksta.
6. Agenti
Agenti so avtonomne komponente, ki lahko ukrepajo na podlagi podatkov, ki jih obdelujejo. Lahko sodelujejo z drugimi komponentami, zunanjimi sistemi ali uporabniki, da izvedejo določene naloge znotraj delovnega toka LangChain.
Uporaba: Agent lahko na primer obravnava interakcije uporabnikov, obdeluje dohodne zahteve in usklajuje pretok podatkov skozi verigo, da ustvari ustrezne odzive.
7. Indeksi in iskalniki
Indeksi in prenosniki igrajo ključno vlogo pri učinkovitem upravljanju in dostopanju do podatkov. Indeksi so podatkovne strukture, ki vsebujejo informacije in metapodatke iz podatkov o usposabljanju modela. Po drugi strani pa so iskalniki mehanizmi, ki sodelujejo s temi indeksi, da pridobijo ustrezne podatke na podlagi določenih meril in omogočijo modelu, da se bolje odzove z zagotavljanjem ustreznega konteksta.
Uporaba: Pomagajo pri hitrem pridobivanju ustreznih podatkov ali dokumentov iz velikega nabora podatkov, kar je bistveno za naloge, kot je iskanje informacij ali odgovarjanje na vprašanja.
8. Transformatorji dokumentov
V LangChainu so Document Transformers specializirane komponente, namenjene obdelavi in preoblikovanju dokumentov na način, ki jih naredi primerne za nadaljnjo analizo ali obdelavo. Te transformacije lahko vključujejo naloge, kot je normalizacija besedila, ekstrakcija funkcij ali pretvorba besedila v drugo obliko.
Uporaba: Priprava besedilnih podatkov za nadaljnje faze obdelave, kot je analiza z modeli strojnega učenja ali indeksiranje za učinkovito iskanje.
9. Vdelovanje modelov
Uporabljajo se za pretvorbo besedilnih podatkov v numerične vektorje v visokodimenzionalnem prostoru. Ti modeli zajamejo semantična razmerja med besedami in frazami, kar omogoča strojno berljivo predstavitev. Tvorijo osnovo za različne naloge obdelave naravnega jezika (NLP) v ekosistemu LangChain.
Uporaba: Omogočanje semantičnih iskanj, primerjav podobnosti in drugih nalog strojnega učenja z zagotavljanjem numerične predstavitve besedila.
10. Vektorske trgovine
Vrsta sistema baze podatkov, ki je specializiran za shranjevanje in iskanje informacij prek vdelav, v bistvu analizira numerične predstavitve besedilu podobnih podatkov. VectorStore služi kot shramba za te vdelave.
Uporaba: Omogoča učinkovito iskanje na podlagi semantične podobnosti.
Namestitev z uporabo PIP
Prva stvar, ki jo moramo storiti, je zagotoviti, da imamo LangChain nameščen v našem okolju.
pip install langchain
Nastavitev okolja
Uporaba LangChaina običajno pomeni integracijo z različnimi ponudniki modelov, shrambami podatkov, API-ji, med drugimi komponentami. In kot že veste, je kot vsaka integracija tudi zagotavljanje ustreznih in pravilnih ključev API ključnega pomena za delovanje LangChaina.
Predstavljajte si, da želimo uporabiti naš API OpenAI. To lahko enostavno dosežemo na dva načina:
- Nastavitev ključa kot spremenljivke okolja
OPENAI_API_KEY="..."
or
import os
os.environ['OPENAI_API_KEY'] = “...”
Če se odločite, da ne boste vzpostavili spremenljivke okolja, imate možnost, da zagotovite ključ neposredno prek imenovanega parametra openai_api_key, ko zaženete razred OpenAI LLM:
- Neposredno nastavite ključ v ustreznem razredu.
from langchain.llms import OpenAI
llm = OpenAI(openai_api_key="...")
Preklapljanje med LLM postane preprosto
LangChain ponuja razred LLM, ki nam omogoča interakcijo z različnimi ponudniki jezikovnih modelov, kot sta OpenAI in Hugging Face.
Začeti s katerim koli LLM je zelo enostavno, saj je najosnovnejša in najlažja za implementacijo funkcionalnost katerega koli LLM samo ustvarjanje besedila.
Vendar postavljanje istega poziva različnim LLM naenkrat ni tako preprosto.
Tukaj začne LangChain ...
Če se vrnemo k najpreprostejši funkcionalnosti katerega koli LLM, lahko enostavno zgradimo aplikacijo z LangChain, ki dobi poziv za niz in vrne izhod našega določenega LLM.
Koda avtorja
Lahko preprosto uporabimo isti poziv in dobimo odgovor dveh različnih modelov v nekaj vrsticah kode!
Koda avtorja
Impresivno ... kajne?
Dajanje strukture našim pozivom s predlogami pozivov
Pogosta težava z jezikovnimi modeli (LLM) je njihova nezmožnost stopnjevanja zapletenih aplikacij. LangChain to obravnava tako, da ponuja rešitev za poenostavitev postopka ustvarjanja pozivov, ki je pogosto bolj zapleten kot le definiranje naloge, saj zahteva oris osebnosti AI in zagotavljanje dejanske točnosti. Pomemben del tega vključuje ponavljajoče se šablonsko besedilo. LangChain to ublaži s ponudbo predlog za pozive, ki samodejno vključijo predlogo besedila v nove pozive, s čimer poenostavijo hitro ustvarjanje in zagotovijo doslednost med različnimi nalogami.
Koda avtorja
Pridobivanje strukturiranih odgovorov z izhodnimi razčlenjevalniki
Pri interakcijah, ki temeljijo na klepetu, je rezultat modela zgolj besedilo. Kljub temu je v programskih aplikacijah bolje imeti strukturiran izhod, saj omogoča nadaljnja programska dejanja. Na primer, pri ustvarjanju nabora podatkov je zaželeno prejeti odgovor v določeni obliki, kot je CSV ali JSON. Ob predpostavki, da je poziv mogoče oblikovati tako, da od umetne inteligence izzove dosleden in ustrezno oblikovan odziv, so potrebna orodja za upravljanje tega rezultata. LangChain izpolnjuje to zahtevo tako, da ponuja orodja za razčlenjevalnik izhoda za učinkovito obdelavo in uporabo strukturiranega izhoda.
Koda avtorja
Celotno kodo lahko preveriš pri meni GitHub.
Nedolgo nazaj so nas napredne zmogljivosti ChatGPT pustile navdušene. Kljub temu se tehnološko okolje nenehno spreminja in zdaj so nam na dosegu roke orodja, kot je LangChain, ki nam omogočajo izdelavo izjemnih prototipov iz naših osebnih računalnikov v le nekaj urah.
LangChain, prosto dostopna platforma Python, ponuja uporabnikom sredstva za razvoj aplikacij, zasidranih z LLM (modeli jezikovnih modelov). Ta platforma zagotavlja prilagodljiv vmesnik za različne temeljne modele, poenostavlja hitro ravnanje in deluje kot povezava za elemente, kot so predloge pozivov, več LLM-jev, zunanjih informacij in drugih virov prek agentov, od trenutne dokumentacije.
Predstavljajte si chatbote, digitalne pomočnike, orodja za prevajanje jezikov in pripomočke za analizo razpoloženja; vse te aplikacije, ki podpirajo LLM, oživijo z LangChain. Razvijalci uporabljajo to platformo za izdelavo po meri prilagojenih rešitev jezikovnega modela, ki obravnavajo različne zahteve.
Ko se obzorje obdelave naravnega jezika širi in njegovo sprejemanje poglablja, se zdi področje njegovih aplikacij brezmejno.
Josep Ferrer je inženir analitike iz Barcelone. Diplomiral je iz fizike in trenutno dela na področju Data Science, ki se uporablja za mobilnost ljudi. Je ustvarjalec vsebin s krajšim delovnim časom, osredotočen na podatkovno znanost in tehnologijo. Lahko ga kontaktirate na LinkedIn, Twitter or srednje.
- Distribucija vsebine in PR s pomočjo SEO. Okrepite se še danes.
- PlatoData.Network Vertical Generative Ai. Opolnomočite se. Dostopite tukaj.
- PlatoAiStream. Web3 Intelligence. Razširjeno znanje. Dostopite tukaj.
- PlatoESG. Ogljik, CleanTech, Energija, Okolje, sončna energija, Ravnanje z odpadki. Dostopite tukaj.
- PlatoHealth. Obveščanje o biotehnologiji in kliničnih preskušanjih. Dostopite tukaj.
- vir: 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
- :ima
- : je
- :ne
- :kje
- $GOR
- 7
- a
- sposobnost
- dostopna
- Dostop
- doseganje
- natančnost
- čez
- igrati
- dejavnosti
- aktov
- dodajanje
- Naslov
- naslovi
- naslavljanje
- Sprejetje
- napredno
- Agent
- agenti
- Avgust
- AI
- Z AI napajanjem
- vsi
- omogočajo
- Dovoli
- omogoča
- že
- Prav tako
- med
- zneski
- an
- Analiza
- analitika
- analizirati
- analiziranje
- zasidrana
- in
- kaj
- API
- API-ji
- uporaba
- Razvoj aplikacij
- aplikacije
- uporabna
- pristop
- primerno
- Arhitektura
- SE
- okoli
- Array
- Arsenal
- članek
- umetni
- Umetna inteligenca
- AS
- sprašuje
- oceniti
- Sredstva
- pomočniki
- At
- avtonomno
- Na voljo
- AWE
- nazaj
- Barcelona
- temeljijo
- Osnovni
- BE
- postanejo
- postane
- bilo
- zadaj
- Boljše
- med
- Brezmejna
- Breaking
- Na kratko
- Prinaša
- izgradnjo
- Building
- zgrajena
- by
- CAN
- Zmogljivosti
- lahko
- zajemanje
- primeru
- primeri
- poskrbi
- jama
- verige
- verige
- chatbot
- klepetalnice
- ChatGPT
- klepet
- preveriti
- izbira
- Izberite
- razred
- Koda
- KOHERENTNO
- kako
- Skupno
- pogosto
- Komunikacija
- primerjave
- kompleksna
- komponenta
- deli
- računalniki
- Connect
- povezane
- dosledno
- kontakt
- vsebina
- ozadje
- Pogovor
- Pretvorba
- pretvorbo
- pretvorbo
- koordinate
- Core
- popravi
- obrti
- izdelana
- ustvarjajo
- Ustvarjanje
- Oblikovanje
- kreator
- Merila
- ključnega pomena
- Trenutna
- Trenutno
- customization
- prilagodite
- meri
- datum
- znanost o podatkih
- nabori podatkov
- Baze podatkov
- baze podatkov
- poglablja
- definiranje
- dostavi
- daje
- Oblikovanje
- imenovani
- zasnovan
- želeno
- Odkrivanje
- Razvoj
- Razvijalci
- Razvoj
- naprave
- drugačen
- digitalni
- neposredna
- neposredno
- razločevanje
- izrazit
- Razločen
- razne
- do
- dokument
- Dokumentacija
- Dokumenti
- navzdol
- med
- vsak
- najlažje
- enostavno
- lahka
- ekosistem
- učinkovito
- učinkovite
- učinkovito
- elementi
- vdelava
- omogočanje
- konec
- angažiran
- inženir
- Inženiring
- Izboljša
- ogromno
- zagotoviti
- okolje
- stopnjevati
- bistvena
- v bistvu
- vzpostaviti
- Eter (ETH)
- vedno spreminjajoče se
- Primer
- širi
- izkušen
- Pojasnite
- zunanja
- ekstrakt
- pridobivanje
- Obraz
- Sklad
- Dejansko
- Feature
- Lastnosti
- Nekaj
- Polje
- konice prstov
- prva
- prilagodljiv
- Pretok
- tekočina
- Osredotočite
- osredotočena
- za
- obrazec
- format
- Fundacija
- Temeljno
- Okvirni
- prosto
- iz
- funkcionalnost
- temeljna
- nadalje
- ustvarjajo
- ustvarjajo
- generacija
- generativno
- Generativna AI
- generator
- dobili
- pridobivanje
- Go
- Googlova
- prijem
- strani
- ročaj
- Ravnanje
- Imajo
- ob
- he
- ga
- zgodovina
- gospodarstvo
- obzorje
- URE
- Kako
- Kako
- HTTPS
- Hub
- HuggingFace
- človeškega
- Bom
- Ideja
- if
- uvoz
- Pomembno
- in
- nezmožnost
- vključujejo
- Vključno
- Dohodni
- vključujoč
- indekse
- individualna
- industrij
- Podatki
- začetku
- vhod
- namestitev
- primer
- instrumental
- Povezovanje
- integracija
- integracije
- Intelligence
- interakcijo
- medsebojno delovanje
- interakcije
- interakcije
- zainteresirani
- vmesnik
- vmesniki
- medsebojno povezovanje
- v
- zapleten
- intuitivno
- vključuje
- vprašanje
- IT
- ITS
- Potovanje
- json
- samo
- KDnuggets
- Ključne
- tipke
- Udarcev
- Vedite
- znano
- Pokrajina
- jezik
- velika
- vodi
- učenje
- levo
- Vzvod
- življenje
- kot
- linije
- LINK
- živi
- Llama
- Long
- stroj
- strojno učenje
- Glavne
- Znamka
- IZDELA
- upravljanje
- upravlja
- upravljanje
- manipulirati
- več
- Trženje
- Maj ..
- pomeni
- Mehanizem
- Mehanizmi
- zgolj
- metapodatki
- Metoda
- morda
- mobilnost
- Model
- modeli
- Modularna
- modul
- Moduli
- več
- Najbolj
- my
- Imenovan
- materni
- naravna
- Naravni jezik
- Obdelava Natural Language
- potrebno
- Nimate
- potrebe
- Novo
- novice
- povezava
- lepo
- nlp
- zdaj
- of
- ponujanje
- pogosto
- on
- enkrat
- open source
- OpenAI
- Delovanje
- operacije
- Možnost
- or
- OS
- Ostalo
- naši
- oris
- izhod
- izhodi
- Neporavnani
- parameter
- del
- zlasti
- deli
- vzorci
- ljudje
- opravlja
- izvajati
- Osebni
- Osebni računalniki
- stavki
- Fizika
- kosov
- platforma
- platon
- Platonova podatkovna inteligenca
- PlatoData
- Predvajaj
- Poezija
- pozicije
- potencial
- Ravno
- raje
- Predsednik
- problem
- Težave
- Postopek
- obravnavati
- proizvodnjo
- Programiranje
- pozove
- prototipi
- zagotavljajo
- ponudniki
- zagotavlja
- zagotavljanje
- Python
- vprašanje
- hitro
- precej
- Surovi
- kraljestvo
- prejema
- nedavno
- nanaša
- Razmerja
- pomembno
- ponavljajoč
- odgovori
- zastopanje
- zahteva
- zahteva
- zahteva
- Zahteve
- zahteva
- viri
- Odzove
- Odgovor
- odgovorov
- odgovorna
- ohraniti
- vrnitev
- vrne
- Revolucioniranje
- Pravica
- vloga
- s
- Enako
- scenariji
- Znanost
- Znanost in tehnologija
- skripte
- Iskalnik
- iskanja
- Sektorji
- Zdi se,
- pošiljanja
- sentiment
- Zaporedje
- služi
- nastavite
- Kompleti
- nastavitev
- pomemben
- Podoben
- poenostavlja
- poenostavitev
- preprosto
- situacije
- So
- Software
- Rešitev
- rešitve
- nekaj
- prefinjeno
- Vesolje
- specializirani
- specializirano
- specifična
- določeno
- Stage
- postopka
- standardizacijo
- začel
- Še vedno
- shranjevanje
- trgovina
- trgovine
- racionalizirati
- racionalizacijo
- String
- Struktura
- strukturirano
- strukture
- kasneje
- v bistvu
- taka
- primerna
- dobavo
- Preverite
- prenapetost
- sistem
- sistemi
- miza
- prilagojene
- Bodite
- ob
- pogovor
- Naloga
- Naloge
- tehnološki
- Tehnologija
- predloge
- začasna
- težava
- besedilo
- besedilno
- kot
- da
- O
- njihove
- Njih
- POTEM
- Tukaj.
- te
- jih
- stvar
- ta
- tisti,
- čeprav?
- skozi
- Tako
- do
- danes
- skupaj
- orodja
- usposabljanje
- Transform
- transformacije
- transformatorji
- prevod
- Navodila
- dva
- tipično
- razumeli
- razumevanje
- neizkoriščen
- us
- uporabno
- uporaba
- Rabljeni
- uporabnik
- Uporabniki
- uporabo
- javne gospodarske službe
- uporabiti
- Vrednote
- spremenljivka
- raznolikost
- različnih
- Popravljeno
- vsestranskost
- zelo
- preko
- želeli
- način..
- načini
- we
- Kaj
- Kaj je
- kdaj
- ki
- celoti
- široka
- z
- v
- Sprašujem
- besede
- potek dela
- delovnih tokov
- deluje
- še
- jo
- Vaša rutina za
- zefirnet