LangChain🦜🔗: Tehokas kehys, joka mullistaa kielimallien soveltamisen
Mikä on LangChain?
LangChain on tehokas kehys, joka on suunniteltu mullistamaan kielimalleilla toimivien sovellusten kehityksen. Kielimallit kuten ChatGPT ja Llama ovat uskomattoman monipuolisia ja loistavat monenlaisissa tehtävissä. Ne saattavat kuitenkin kohdata haasteita tarjoaessaan tarkkoja vastauksia tai tehtävissä, jotka vaativat syvää toimialalliosta tietoa tai asiantuntemusta. Tässä tilanteessa LangChain tulee apuun.
Esimerkiksi — LangChainin avulla voimme opettaa LLM-mallia, kuten ChatGPT:tä, ravintola-arvosteluiden omasta datajoukosta. Datajoukko sisältää erityisiä tietoja eri ruokakulttuureista, tunnelmasta ja palvelun laadusta.
Nyt, kun kysyt ChatGPT:ltä tarkkaa kysymystä, kuten "Mikä ravintola tarjoaa parhaan sushit kaupungissa?", ChatGPT, jota on hienosäädetty omalla ravintola-arvosteluiden datajoukolla, voi antaa tarkemman ja spesifimmän vastauksen. Se voi hyödyntää datajoukosta saamaansa tietoa suositellakseen ravintolaa, jonka sushi on saanut korkeimmat arviot asiakasarvostelua perusteella.
Lue lisää: Virallinen dokumentaatio
Rakennetaan pieni sovellus
Tässä artikkelissa näytän vaihe vaiheelta oppaan dokumentinlukijan rakentamiseen käyttäen LangChain- ja HuggingFace-teknologioita. Käytän Google Colabia alustana sovelluksen rakentamiseen
- Luo uusi muistikirja Google Collabiin ja asenna kaikki tarvittavat riippuvuudet
Napsauta "Uusi muistikirja" tai valitse "Tiedosto" > "Uusi muistikirja" luodaksesi uuden Colab-muistikirjan ja asenna nämä riippuvuudet alla.

2. HuggingFace API -avaimen hakeminen
Jos sinulla ei vielä ole Hugging Face -tiliä, sinun on luotava sellainen. Voit rekisteröityä tilille Hugging Face -verkkosivustolla.
Kun olet kirjautunut sisään, siirry Profiili-osioon napsauttamalla profiiliikonaasi oikeassa yläkulmassa ja valitsemalla "Asetukset" pudotusvalikosta.
Sitten siirry Käyttöoikeudet-osioon ja luo uusi tunnus

Sitten luo uusi koodisoluu ja lisää alla oleva koodi —

Korvaa tyhjä merkkijono API-avaimellasi ja suorita koodi.
3. Upotuksien ja vektorisäiliön luominen kysymysten vastaamiseen
Monissa kielimallin (LLM) sovelluksissa syntyy usein tarve käyttäjäkohtaisille tiedoille, jotka eivät olleet osa mallin alkuperäistä harjoitusdataa. LangChain varustelee sinut tarvittavilla elementeillä tuodaksesi, muuntaaksesi, varastoidaksesi ja kysyneet tehokkaasti omaa dataa.

Prosessi koostuu viidestä erillisestä vaiheesta:
- Dokumentin lataaminen: Tämä vaihe vastaa tiedon tuomisesta dokumenttien muodossa.
- Dokumentin segmentointi: Tässä dokumentti segmentoidaan pieninä hallittavina osina.
- Upotuksien luominen: Tässä vaiheessa nämä osiot muunnetaan vektorimuotoihin, joita kutsutaan myös upotuksiksi.
- Vektorisäiliö: Tämä komponentti toimii varastona edellä mainittujen osio-vektoreiden säilyttämiselle erityisessä vektorin tietokannassa.
- Hakumekanismi: Viimeinen vaihe sisältää hakumekanismin. Sitä käytetään noutamaan yksi tai useampi vektorijoukko, joilla on korkein samankaltaisuus kyselyyn, missä sekä kysely että tallennetut vektorit asuvat samassa piilevässä tilassa.
Nyt aloitamme dokumentin lataamisen. Lataan Intian perustuslain lyhyen yhteenvedon, jonka on luonut ChatGPT.

Dokumentin lataamisen jälkeen jaetaan pidemmät tekstidokumentit pienempiin, päällekkäisiin osiin, joissa kussakin 1000 merkkiä

Dokumentin segmentoinnin jälkeen alustetaan upotuksemme. Käytämme Hugging Face Transformers -kirjastosta tarjoamia upotuksia.

Nyt asetamme vektorsäiliön käyttäen Faiss:ia. Pohjimmiltaan tekstidata muunnetaan vektoreiksi käyttäen annettuja upotuksia, ja Faiss:ia käytetään näiden vektoreiden tehokkaan indeksoinnin ja haun mahdollistamiseksi.

Nyt lataamme Googlen flan-t5-xxl LLM:n HuggingFace-palvelusta. Se on arvokkainen työkalu kysymysten vastaamisessa tehtävissä sen teksti-teksti-lähestymistavan, ennalta koulutetun ja suuren mallikoon takia.

Sen jälkeen luomme ketjun LangChain:lla. Ketjut mahdollistavat useiden komponenttien kokoonpannon yhteen sovellukseen.

Luomme yksinkertaisen ketjun: se alkaa kyselystä, ja kysely lähetetään sitten LLM:lle.

Kontekstin vuoksi alla on osa yhteenvedosta, josta LLM vastasi —
"Johdanto: Intian perustuslain johdanto kuvaa ihanteita ja tavoitteita, joita perustuslain laatijoille oli tarkoitus saavuttaa. Se korostaa Intiaa suvereenia, sosialistista, sekulaaria ja demokraattista tasavaltaa, joka tavoittelee oikeutta, vapautta, tasa-arvoa ja veljeyden henkeä kansalaisilleen."
Esitetään toinen kysymys siitä

Sovellukset —
- Tekoälychatbotit ja virtuaaliavustajat: Tässä koodissa upotetut kysymysten vastaamisen kyvyt muodostavat perustan tekoälychatbottien ja virtuaaliavustajien luomiselle, jotka voivat antaa välittömiä, kontekstisensitiiviä vastauksia käyttäjien kyselyihin. Tällä on sovelluksia asiakastukeen, e-oppimiseen ja muuhun.
- Opetustyökalut: Opettajat ja opiskelijat voivat hyötyä automatisoidusta kysymysten vastaamisesta, mikä auttaa selventämään epävarmuustekijöitä ja parantamaan oppimisen kokemusta. Sitä voidaan käyttää myös opetussisällön luomiseen.
- Sisällön suosittelujärjestelmät: Ymmärtämällä kyselyjen takana olevaa kontekstia ja tarkoitusta, tätä koodia voidaan käyttää sisällön suosittelujärjestelmien kehittämiseen, mikä varmistaa, että käyttäjät saavat erittäin relevantteja ehdotuksia.
Lukijoille, jotka ovat kiinnostuneet sukeltamaan syvemmälle näihin sovelluksiin ja tutkimaan muita työkaluja projekteillensa, tässä muutamia arvokkaita resursseja:
FlowiseAI - Rakenna LLM-sovelluksia helposti Avoimen lähdekoodin käyttöliittymätyökalulla voit rakentaa omaksesi LLM-virtaa käyttäen Langchainiaflowiseai.comLangflow-odottelista Liity Langflow-odotteluun tänään ja tutustu virtaviivaistuneem lähestymistapaan LLM:iin. Avoimen lähdekoodin ja käyttäjäystävällinen, Langflow…www.langflow.orgJohtopäätös —
Tässä artikkelissa näytettiin, kuinka LangChain:ia voidaan käyttää kielimalleilla toimivien sovellusten kehittämisessä ja kuinka sen joustavat abstraktiot ja laaja työkalusarja mahdollistavat kehittäjille LLM:ien voiman hyödyntämisen.
Tekoälyn jatkuvasti muuttuvassa maisemassa LLM:t ovat nousseet pelin muuttajiksi, ja olemme ylpeitä olevamme osa tätä jännittävää matkaa kohti älykkäämpää ja tehokkaaampaa tulevaisuutta. Odotamme innolla, että voimme hyödyntää LLM:iä innovaation ajamiseen, monimutkaisten haasteiden ratkaisemiseen ja entistä suuremman arvon tuottamiseen asiakkaillemme ja kumppaneillemme MyNextDeveloper-palvelun kautta.



