LangChain LLM je glavna priča u gradu. Dobijte pregled o tome što je to i kako možete započeti s njim.
S uvođenjem velikih jezičnih modela (LLM), obrada prirodnog jezika postala je tema interneta. Nove aplikacije se svakodnevno razvijaju zahvaljujući LLM-ovima kao što su ChatGPT i LangChain.
LangChain je Python okvir otvorenog koda koji programerima omogućuje razvoj aplikacija koje pokreću veliki jezični modeli. Njegove su aplikacije chatbotovi, sažimanje, generativno postavljanje pitanja i odgovaranja i još mnogo toga.
Ovaj će članak pružiti uvod u LangChain LLM. Obuhvatit će osnovne koncepte, usporedbu s drugim jezičnim modelima i kako započeti s njim.
Razumijevanje LangChain LLM
Prije nego objasnite kako LangChain radi, prvo morate razumjeti kako funkcioniraju veliki jezični modeli. Veliki jezični model vrsta je umjetne inteligencije (AI) koja koristi duboko učenje trenirati modele strojnog učenja na velikim podacima koji se sastoje od tekstualnih, numeričkih i kodiranih podataka.
Ogromna količina podataka omogućuje modelu da nauči postojeće obrasce i odnose između riječi, brojki i simbola. Ova značajka omogućuje modelu izvođenje niza zadataka, kao što su:
- Generiranje teksta, prevođenje jezika, kreativno, tehničko i akademsko pisanje sadržaja te točni i relevantni odgovori na pitanja.
- Detekcija objekata na slikama.
- Sažetak knjiga, članaka i znanstvenih radova.
Najznačajnije ograničenje LLM-a je to što su modeli vrlo općeniti. Ova značajka znači da unatoč njihovoj sposobnosti da učinkovito obavljaju nekoliko zadataka, ponekad mogu pružiti općeniti odgovori na pitanja ili upute koji zahtijevaju stručnost i duboko poznavanje područja umjesto konkretnih odgovori.
LangChain okvir koji je razvio Harrison Chase krajem 2022. nudi inovativan pristup LLM-u. Proces počinje pretprocesiranjem tekstova skupa podataka rastavljanjem na manje dijelove ili sažetke. Sažeci se zatim ugrađuju u vektorski prostor. Model prima pitanje, pretražuje sažetke i daje odgovarajući odgovor.
LangChainova metoda predprocesiranja kritična je značajka koja je neizbježna kako LLM-ovi postaju sve moćniji i zahtjevniji za podatke. Ova se metoda uglavnom koristi u slučajevima koda i semantičkog pretraživanja jer omogućuje prikupljanje u stvarnom vremenu i interakciju s LLM-ovima.
LangChain LLM vs. Ostali jezični modeli
Sljedeći usporedni pregled ima za cilj istaknuti jedinstvene značajke i mogućnosti koje LangChain LLM izdvajaju od ostalih postojećih jezičnih modela na tržištu:
- Memorija: Nekoliko LLM-a ima kratku memoriju, što obično rezultira gubitkom konteksta ako upiti premašuju ograničenje memorije. LangChain, međutim, pruža prethodne upite i odgovore za chat, rješavajući problem ograničenja memorije. Povijest poruka omogućuje korisniku da ponovi prethodne poruke LLM-u kako bi ponovio prethodni kontekst.
- LLM Prebacivanje: U usporedbi s drugim LLM-ovima koji zaključavaju vaš softver s API-jem jednog modela, LangChain pruža apstrakciju koja pojednostavljuje prebacivanje LLM-ova ili integraciju više LLM-ova u vašu aplikaciju. Ovo je korisno kada želite nadograditi svoje softverske mogućnosti korištenjem kompaktnog modela, kao što je Stability AI StableLM recimo iz OpenAI-jevog GPT-3.5.
- Integracija: Integracija LangChaina u vašu aplikaciju jednostavna je u usporedbi s drugim LLM-ovima. Omogućuje tijekove rada cjevovoda lanci i agenti, što vam omogućuje da brzo uključite LangChain u svoju aplikaciju. U smislu linearnih cjevovoda, lanci su objekti koji u biti povezuju brojne dijelove. Agenti su napredniji, omogućujući vam da odaberete način interakcije komponenti pomoću poslovne logike. Na primjer, možda biste željeli upotrijebiti uvjetnu logiku da odredite sljedeći tijek radnje na temelju rezultata LLM-a.
- Prijenos podataka: Zbog opće tekstualne prirode LLM-ova, obično je teško proslijediti podatke modelu. LangChain rješava ovaj problem korištenjem indeksi. Indeksi omogućuju aplikaciji uvoz podataka u promjenjivim formatima i njihovo pohranjivanje na način koji omogućuje njihovo posluživanje red po red LLM-u.
- Odgovori: LangChain pruža alate za analizu izlaza za davanje odgovora u prikladnom formatu za razliku od drugih LLM-ova čiji se model odgovora sastoji od općeg teksta. Kada koristite AI u aplikaciji, poželjno je imati strukturirani odgovor prema kojem možete programirati.
Početak rada s LangChain LLM
Sada ćete naučiti kako implementirati LangChain u stvarnom scenariju korištenja da biste razumjeli kako funkcionira. Prije početka razvoja potrebno je postaviti razvojno okruženje.
Postavljanje vašeg razvojnog okruženja
Prvi, stvoriti virtualno okruženje i instalirajte ovisnosti u nastavku:
- OpenAI: Za integraciju GPT-3 API-ja u vašu aplikaciju.
- LangChain: Za integraciju LangChaina u vašu aplikaciju.
Koristeći pip, pokrenite naredbu u nastavku da biste instalirali ovisnosti:
pipenv instalirati langchain openai
Gornja naredba instalira pakete i stvara virtualno okruženje.
Uvezite instalirane ovisnosti
Prvo uvezite potrebne klase kao što su LLMClanac, OpenAI, Lanac razgovora, i PromptTemplate od langchain paket.
iz langchain uvoz ConversationChain, OpenAI, PromptTemplate, LLMChain
iz langchain.memorija uvoz ConversationBufferWindowMemory
Klase LangChain ocrtavaju i izvode lance jezičnog modela.
Pristup OpenAI API ključu
Zatim nabavite OpenAI API ključ. Da biste pristupili API ključu OpenAI-ja, morate imati OpenAI račun, a zatim prijeđite na OpenAI API platforma.
Na nadzornoj ploči kliknite ikonu Profil. Zatim kliknite na Pregledajte API ključeve dugme.
Zatim kliknite na Stvorite novi tajni ključ gumb za dobivanje novog API ključa.
Unesite traženi naziv API ključa.
Dobit ćete a tajni ključ potaknuti.
Kopirajte i pohranite API ključ na sigurno mjesto za buduću upotrebu.
Razvoj aplikacije pomoću LangChain LLM
Sada ćete nastaviti s razvojem jednostavne aplikacije za chat na sljedeći način:
# Prilagodite LLM predložak
predložak = Assistant je veliki jezični model obučen pomoću OpenAI-ja.{povijest}
Čovjek: {human_input}
Pomoćnik:
prompt = PromptTemplate (input_variables=["povijest", "ljudski_input"], predložak=predložak)
Zatim ćete učitati ChatGPT lanac pomoću API ključa koji ste ranije pohranili.
chatgpt_chain = LLMChain(
llm=OpenAI(openai_api_key="OPENAI_API_KEY",temperatura=0),
prompt=prompt,
opširno=Pravi,
memory=ConversationBufferWindowMemory (k=2),
)
# Predvidite rečenicu koristeći chatgpt lanac
izlaz = chatgpt_chain.predict(
ljudski_input="Što je MakeUseOf?"
)
# Prikažite odgovor modela
ispis (izlaz)
Ovaj kod učitava LLM lanac s OpenAI API ključem i predloškom upita. Tada se daje korisnički unos i prikazuje se njegov izlaz.
Gore je očekivani rezultat.
Rastući utjecaj LLM-a
Potrošnja LLM-a brzo raste i mijenja način na koji ljudi komuniciraju sa strojevima znanja. Okviri kao što je LangChain prednjače u pružanju programerima glatkog i jednostavnog načina posluživanja LLM-a aplikacijama. Generativni AI modeli kao što su ChatGPT, Bard i Hugging Face također nisu zaostali u naprednim LLM aplikacijama.