LangChain🦜🔗: Moćan okvir koji revolucionira aplikacije s modelima jezika
Što je LangChain?
LangChain je moćan okvir dizajniran da revolucionira razvoj aplikacija pogonjen modelima jezika. Modeli jezika poput ChatGPT-a i Llame su nevjerojatno svestrani i odličan su izbor za širok raspon zadataka. Međutim, mogu se susresti s izazovima kada je u pitanju pružanje preciznih odgovora ili rješavanje zadataka koji zahtijevaju duboko domensko znanje ili stručnost. Tu dolazi LangChain u pomoć.
Na primjer — S pomoću LangChain-a, možemo obučiti LLM poput ChatGPT-a na prilagođenom skupu podataka recenzija restorana. Skup podataka sadrži specifične informacije o raznim kuhinjama, ambijentu i kvaliteti usluge.
Sada, kada postavite ChatGPT-u precizno pitanje poput "Koji restoran nudi najbolje sushi u gradu?", ChatGPT, nakon što je fino-podešen na prilagođenom skupu podataka recenzija restorana, može dati točniji i specifičniji odgovor. Može crpiti iz svog znanja skupa podataka kako bi preporučio restoran s najvišom ocjenom za sushi na osnovu recenzija kupaca.
Pročitaj više: Službena dokumentacija
Izgradimo malu aplikaciju
U ovom članku pokazat ću vam korak-po-korak vodič za izgradnju čitača dokumenata koristeći LangChain i HuggingFace. Koristit ću Google Colab kao platformu za izgradnju aplikacije
- Kreirajte novi bilježnicu u Google Colab-u i instalirajte sve potrebne ovisnosti
Kliknite na "New Notebook" ili idite na "File" > "New Notebook" kako biste kreirali novu Colab bilježnicu i instalirajte ove ovisnosti dolje.

2. Dobivanje HuggingFace API ključa
Ako već nemate Hugging Face račun, trebat ćete ga kreirati. Možete se registrirati na Hugging Face web mjestu.
Kada ste prijavljeni, idite na odjeljak Profila klikom na ikonu vašeg profila u gornjem desnom kutu i odaberite "Settings" iz padajućeg izbornika.
Nakon toga, idite na Access Tokens odjeljak i kreirajte novi token

Nakon toga kreirajte novu ćeliju koda i dodajte kod dolje —

Zamijenite fiktivni niz sa vašim API ključem i izvršite kod.
3. Kreiranje ugradbenih reprezentacija i vektorske pohrane za odgovaranje na pitanja
U mnogim aplikacijama s modelima jezika (LLM), često se pojavljuje zahtjev za korisničkim podacima koji nisu bili dio originalnog skupa podataka na kojem je model obučen. LangChain vas opremlja potrebnim elementima da uvezete, transformirate, pohranite i učinkovito pretražite vaše prilagođene podatke.

Proces se sastoji od pet različitih faza:
- Učitavanje dokumenata: Ova faza je odgovorna za uvoz podataka u obliku dokumenata.
- Segmentacija dokumenata: Ovdje se dokument segmentira, razbijajući se na upravljivije dijelove.
- Generiranje ugradbenih reprezentacija: U ovom koraku, ti dijelovi se transformiraju u vektorske reprezentacije, poznate i kao ugradbene reprezentacije.
- Vektorska pohrana: Ova komponenta služi kao spremište za pohranu gore navedenih vektora dijelova u dedicirani vektorski database.
- Mehanizam pronalaženja: Posljednja faza uključuje mehanizam pronalaženja. Koristi se za dohvaćanje jednog ili više skupova vektora koji pokazuju najveću sličnost s upitom, pri čemu se i upit i pohranjeni vektori nalaze u istom latentnom prostoru.
Sada, počnimo s učitavanjem dokumenta. Učitavam kratki sažetak Ustava Indije koji je generirao ChatGPT.

Nakon učitavanja dokumenta, razbijmo duže tekstualne dokumente na manje, nepreklapajuće dijelove od 1000 znakova svaki

Nakon segmentacije dokumenata, inicijalizirajmo naše ugradbene reprezentacije. Koristimo ugradbene reprezentacije koje pruža Hugging Face Transformers biblioteka.

Sada ćemo postaviti vektorsku pohranu koristeći Faiss. U osnovi, vaši tekstualni podaci se transformiraju u vektore koristeći pružene ugradbene reprezentacije, a Faiss se koristi za učinkovito indeksiranje i pretraživanje tih vektora.

Sada ćemo učitati Google-ov flan-t5-xxl LLM s HuggingFace-a. To je vrijedan alat u zadacima odgovaranja na pitanja zahvaljujući svom pristupu tekst-na-tekst, unaprijed obučenom i velikom veličinom modela.

Nakon toga kreirajmo lanac koristeći LangChain. Lanci nam omogućavaju da sastavimo više komponenti u jednu koherentnu aplikaciju.

Kreirat ćemo jednostavan lanac: počinje s upitom, a upit se zatim šalje LLM-u.

Radi konteksta, dolje je dio sažetka iz kojeg je LLM odgovorio —
"Preambula: Preambula Indijske Ustave naglašava ideale i ciljeve koje su tvorci Ustave željeli postići. Ističe Indiju kao suverenu, socijalističku, sekularnu i demokratsku republiku koja traži pravdu, slobodu, jednakost i bratstvo za svoje građane."
Postavimo drugo pitanje o njoj

Primjene —
- AI chatboti i virtualni asistenti: Mogućnosti odgovaranja na pitanja ugrađene u ovaj kod čine temelj za stvaranje AI chatbota i virtualnih asistenta koji mogu dati trenutne, odgovore svjesne konteksta na korisničke upite. Ima primjena u korisničkoj podršci, e-učenju i više toga.
- Edukacijski alati: Educenti i učenici mogu koristiti automatizirano odgovaranje na pitanja, što pomaže da se pojasne nedoumice i poboljša iskustvo učenja. Može se koristiti i pri stvaranju edukacijskog sadržaja.
- Motori preporuke sadržaja: Razumijevanjem konteksta i namjere iza upita, ovaj kod može se koristiti za razvoj sustava preporuke sadržaja, osiguravajući da korisnici primaju visoko relevantne prijedloge.
Za čitatelje zainteresirane za dublji ulazak u te primjene i istraživanje dodatnih alata za svoje projekte, evo nekoliko vrijednih resursa:
FlowiseAI - Lagano izgradi LLM aplikacije Open source UI vizualni alat za izgradnju vašeg prilagođenog LLM toka koristeći Langchainflowiseai.comLangflow lista čekanja Pridružite se Langflow listi čekanja danas i otkrijte pojednostavljeni pristup LLM-ima. Open-source i jednostavan za korištenje, Langflow…www.langflow.orgZaključak —
Ovaj članak pokazao je kako se LangChain može koristiti pri razvoju aplikacija pogonjen modelima jezika i kako njegove fleksibilne apstrakcije i opsežan toolkit omogućavaju programerima da iskoriste snagu LLM-a.
U stalno evolucijskom krajoliku AI-ja, LLM-i su se nametnuli kao igre-mijenjači, i ponosni smo biti dio ovog uzbudljivog putovanja prema pametnijem, učinkovitijem budućnosti. Jedva čekamo da iskoristimo LLM-e za pokretanje inovacija, rješavanje složenih izazova i pružanje još veće vrijednosti našim klijentima i partnerima na MyNextDeveloper-u.



