LangChain LLM on linna kuum jutt. Saate ülevaate, mis see on ja kuidas sellega alustada.
Suurte keelemudelite (LLM) kasutuselevõtuga on loomuliku keele töötlemine olnud Internetis kõneaineks. Uusi rakendusi arendatakse iga päev tänu LLM-idele, nagu ChatGPT ja LangChain.
LangChain on avatud lähtekoodiga Pythoni raamistik, mis võimaldab arendajatel arendada rakendusi, mis töötavad suurte keelemudelitega. Selle rakendused on vestlusrobotid, kokkuvõtete tegemine, generatiivne küsimine ja vastamine ning palju muud.
See artikkel tutvustab LangChain LLM-i. See hõlmab põhimõisteid, selle võrdlust teiste keelemudelitega ja selle kasutamist.
LangChain LLM-i mõistmine
Enne LangChaini toimimise selgitamist peate kõigepealt mõistma kuidas suured keelemudelid töötavad. Suur keelemudel on tehisintellekti (AI) tüüp, mis kasutab süvaõpet koolitada masinõppemudeleid suurandmetega, mis koosnevad tekstilistest, numbrilistest ja koodilistest andmetest.
Suur hulk andmeid võimaldab mudelil õppida olemasolevaid mustreid ja seoseid sõnade, kujundite ja sümbolite vahel. See funktsioon võimaldab mudelil täita mitmesuguseid ülesandeid, näiteks:
- Teksti genereerimine, keeletõlge, loominguline, tehniline ja akadeemiline sisu kirjutamine ning täpne ja asjakohane küsimustele vastamine.
- Objektide tuvastamine piltidel.
- Raamatute, artiklite ja uurimistööde kokkuvõte.
LLM-ide kõige olulisem piirang on see, et mudelid on väga üldised. See funktsioon tähendab, et hoolimata nende võimest mitut ülesannet tõhusalt täita, võivad nad mõnikord pakkuda üldised vastused küsimustele või vihjed, mis nõuavad eriteadmisi ja sügavaid valdkonnateadmisi, mitte konkreetseid vastuseid.
Harrison Chase'i poolt 2022. aasta lõpus välja töötatud LangChaini raamistik pakub uuenduslikku lähenemist LLM-idele. Protsess algab andmekogumi tekstide eeltöötlemisega, jagades need väiksemateks osadeks või kokkuvõtted. Seejärel manustatakse kokkuvõtted vektorruumi. Mudel võtab vastu küsimuse, otsib kokkuvõtteid ja annab sobiva vastuse.
LangChaini eeltöötlusmeetod on kriitiline funktsioon, mis on vältimatu, kuna LLM-id muutuvad võimsamaks ja andmemahukamaks. Seda meetodit kasutatakse peamiselt koodi ja semantilise otsingu puhul, kuna see tagab reaalajas kogumise ja suhtlemise LLM-idega.
LangChain LLM vs. Muud keelemudelid
Järgmise võrdleva ülevaate eesmärk on tuua esile ainulaadsed funktsioonid ja võimalused, mis eristavad LangChain LLM-i teistest turul olemasolevatest keelemudelitest.
- Mälu: mitmel LLM-il on lühike mälu, mis tavaliselt põhjustab konteksti kadumise, kui viipade esitamine ületab mälupiirangu. LangChain pakub aga eelmisi vestlusviise ja vastuseid, lahendades mälupiirangute probleemi. Sõnumiajalugu võimaldab kasutajal korrata eelmisi sõnumeid LLM-ile, et teha kokkuvõte eelmisest kontekstist.
- LLM-i vahetamine: Võrreldes teiste LLM-idega, mis lukustavad teie tarkvara ühe mudeli API-ga, pakub LangChain abstraktsiooni, mis lihtsustab LLM-ide vahetamist või mitme LLM-i integreerimist teie rakendusse. See on kasulik, kui soovite täiustada oma tarkvaravõimalusi, kasutades kompaktset mudelit, näiteks OpenAI GPT-3.5-st Stability AI StableLM.
- Integratsioon: LangChaini integreerimine oma rakendusse on teiste LLM-idega võrreldes lihtne. See pakub torujuhtme töövoogusid ketid ja agendid, mis võimaldab teil LangChaini kiiresti oma rakendusse lisada. Lineaarsete torujuhtmete puhul on ketid objektid, mis sisuliselt ühendavad paljusid osi. Agendid on täiustatud, võimaldades teil äriloogikat kasutades valida, kuidas komponendid peaksid suhtlema. Näiteks võite soovida kasutada tingimusloogikat, et määrata LLM-i tulemuste põhjal järgmine tegevussuund.
- Andmete edastamine: LLM-ide üldise tekstipõhise olemuse tõttu on andmete mudelile edastamine tavaliselt keeruline. LangChain lahendab selle probleemi kasutades indeksid. Indeksid võimaldavad rakendusel importida andmeid muutuvas vormingus ja salvestada neid viisil, mis võimaldab neid ridade kaupa teenindada LLM-ile.
- Vastused: LangChain pakub väljundparseri tööriistu, et anda vastuseid sobivas vormingus, erinevalt teistest LLM-idest, mille mudeli vastus koosneb üldisest tekstist. Rakenduses tehisintellekti kasutamisel eelistatakse struktureeritud vastust, mille vastu saate programmeerida.
LangChain LLM-iga alustamine
Nüüd saate teada, kuidas rakendada LangChaini reaalses kasutusjuhtumis, et mõista, kuidas see toimib. Enne arenduse alustamist tuleb seadistada arenduskeskkond.
Arenduskeskkonna seadistamine
Esiteks luua virtuaalne keskkond ja installige allolevad sõltuvused:
- OpenAI: GPT-3 API integreerimiseks oma rakendusse.
- LangChain: LangChaini integreerimiseks oma rakendusse.
Kasutades pip, käivitage sõltuvuste installimiseks allolev käsk:
pipenv install langchain openai
Ülaltoodud käsk installib paketid ja loob virtuaalse keskkonna.
Importige installitud sõltuvused
Esiteks importige vajalikud klassid, näiteks LLMChain, OpenAI, Vestlusahelja PromptMall alates langchain pakett.
alates langchain importida ConversationChain, OpenAI, PromptTemplate, LLMChain
alates langchain.mälu importida ConversationBufferWindowMemory
LangChaini klassid visandavad ja teostavad keelemudelite ahelaid.
Juurdepääs OpenAI API võtmele
Järgmisena hankige OpenAI API võti. OpenAI API võtmele juurdepääsemiseks peab teil olema OpenAI konto ja seejärel liikuge lehele OpenAI API platvorm.
Klõpsake armatuurlaual profiiliikoonil. Seejärel klõpsake nuppu Vaadake API võtmeid nuppu.
Järgmisena klõpsake nuppu Looge uus salajane võti nuppu uue API-võtme saamiseks.
Sisestage API-võtme nõutud nimi.
Saate a salajane võti viip.
Kopeerige ja säilitage API võti edaspidiseks kasutamiseks kindlas kohas.
Rakenduse arendamine LangChain LLM-i abil
Nüüd jätkate lihtsa vestlusrakenduse arendamisega järgmiselt.
# Kohandage LLM-i malli
mall = Assistent on OpenAI koolitatud suur keelemudel.{ajalugu}
Inimene: {human_input}
Assistent:
prompt = PromptMall (input_variables=["ajalugu", "inimese sisend"], mall=mall)
Järgmisena laadite ChatGPT-ahela, kasutades varem salvestatud API-võtit.
chatgpt_chain = LLMChain(
llm=OpenAI(openai_api_key="OPENAI_API_KEY",temperatuur=0),
prompt=prompt,
verbose=Tõsi,
memory=ConversationBufferWindowMemory (k=2),
)
# Ennustage lauset chatgpt-ahela abil
output = chatgpt_chain.predict(
inimese_sisend="What is MakeUseOf?"
)
# Kuva mudeli vastus
print (väljund)
See kood laadib LLM-ahela OpenAI API võtme ja viipamalliga. Seejärel antakse kasutaja sisend ja kuvatakse selle väljund.
Eespool on oodatav väljund.
LLM-ide kasvav mõju
LLM-ide tarbimine kasvab kiiresti ja muudab inimeste suhtlemist teadmiste masinatega. Sellised raamistikud nagu LangChain on esirinnas, pakkudes arendajatele sujuvat ja lihtsat viisi LLM-ide rakenduste teenindamiseks. Generatiivsed AI mudelid, nagu ChatGPT, Bard ja Hugging Face, ei jää ka LLM-i rakenduste arendamisel maha.