Takaisin blogiin
Blogi

LangChain🦜🔗: Voimakas kehys, joka mullistaa kielimallien soveltamisen

Sep 7, 2023·6 min read·Palomi Jain
#Artificial Intelligence#Large Language Model#machine learning#Python
LangChain🦜🔗: Voimakas kehys, joka mullistaa kielimallien soveltamisen

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

  1. 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.

Kuva tekijältä

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

Kuva tekijältä

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

Kuva tekijältä

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.

Lähde: LangChain-dokumentaatio

Prosessi koostuu viidestä erillisestä vaiheesta:

  1. Dokumentin lataaminen: Tämä vaihe vastaa tiedon tuomisesta dokumenttien muodossa.
  2. Dokumentin segmentointi: Tässä dokumentti segmentoidaan pieninä hallittavina osina.
  3. Upotuksien luominen: Tässä vaiheessa nämä osiot muunnetaan vektorimuotoihin, joita kutsutaan myös upotuksiksi.
  4. Vektorisäiliö: Tämä komponentti toimii varastona edellä mainittujen osio-vektoreiden säilyttämiselle erityisessä vektorin tietokannassa.
  5. 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.

Kuva tekijältä

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

Kuva tekijältä

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

Kuva tekijältä

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.

Kuva tekijältä

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.

Kuva tekijältä

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

Kuva tekijältä

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

Kuva tekijältä

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ä

Kuva tekijältä

Sovellukset —

  1. 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.
  2. 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.
  3. 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.org

Johtopää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.