LangChain🦜🔗: Det kraftfulde framework, der revolutionerer sprogmodelapplikationer
Hvad er LangChain?
LangChain er et kraftfuldt framework designet til at revolutionere udviklingen af applikationer drevet af sprogmodeller. Sprogmodeller som ChatGPT og Llama er utroligt alsidige og udmærker sig inden for en lang række opgaver. De kan dog støde på udfordringer, når det handler om at give præcise svar eller løse opgaver, der kræver dyb domæneviden eller ekspertise. Det er her LangChain kommer til undsætning.
For eksempel — Med hjælp fra LangChain kan vi træne en LLM som ChatGPT på et brugerdefineret datasæt af restaurantanmeldelser. Datasættet indeholder specifikke oplysninger om forskellige køkkener, atmosfære og servicekvalitet.
Nu, når du stiller ChatGPT et præcist spørgsmål som "Hvilken restaurant tilbyder det bedste sushi i byen?", kan ChatGPT, efter at være blevet finjusteret på det brugerdefinerede restaurantanmeldelsesdatasæt, give et mere præcist og specifikt svar. Det kan trække på sin viden om datasættet for at anbefale restauranten med den højest vurderede sushi baseret på kundeomtaler.
Læs mere: Officiel dokumentation
Lad os bygge en lille applikation
I denne artikel vil jeg vise en trin-for-trin guide til at bygge en dokumentlæser ved hjælp af LangChain og HuggingFace. Jeg vil bruge Google Colab som platform til at bygge applikationen
- Opret en ny notesbog i Google Collab og installer alle nødvendige afhængigheder
Klik på "Ny notesbog" eller gå til "Fil" > "Ny notesbog" for at oprette en ny Colab-notesbog og installer disse afhængigheder nedenfor.

2. Hent HuggingFace API-nøglen
Hvis du ikke allerede har en Hugging Face-konto, skal du oprette en. Du kan tilmelde dig en konto på Hugging Face-webstedet.
Når du er logget ind, skal du gå til profilsektionen ved at klikke på dit profilikon i øverste højre hjørne og vælge "Indstillinger" fra dropdown-menuen.
Derefter skal du gå til Access Tokens-sektionen og oprette et nyt token

Opret derefter en ny kodecelle og tilføj koden nedenfor —

Erstat den dummy-streng med din API-nøgle og udfør koden.
3. Oprettelse af indlejringer og et vektorlager til spørgsmål-svar
I mange Language Model (LLM) applikationer opstår der ofte et krav om brugerspecifikke data, der ikke var en del af modellens oprindelige træningsdatasæt. LangChain udstyrer dig med de nødvendige elementer til at importere, transformere, lagre og effektivt forespørge dine brugerdefinerede data.

Processen omfatter fem forskellige stadier:
- Dokumentindlæsning: Dette stadie er ansvarligt for at importere data i form af dokumenter.
- Dokumentsegmentering: Her gennemgår dokumentet segmentering og opdeles i mere håndterbare dele.
- Indlejringsgenerering: I dette trin transformeres disse brikker til vektorrepræsentationer, også kendt som indlejringer.
- Vektorlager: Denne komponent fungerer som et repository til opbevaring af de førnævnte brikkevektorer i en dedikeret vektordatabase.
- Hentningsmekanisme: Det endelige stadie involverer en hentningsmekanisme. Det bruges til at hente et eller flere sæt vektorer, der udviser den højeste lighed med en forespørgsel, hvor både forespørgslen og de lagrede vektorer befinder sig i det samme latente rum.
Lad os nu begynde med at indlæse dokumentet. Jeg indlæser et kort resumé af Indiens forfatning genereret af ChatGPT.

Efter dokumentindlæsning skal vi opdele længere tekstdokumenter i mindre, ikke-overlappende brikker på 1000 tegn hver

Efter dokumentsegmentering skal vi initialisere vores indlejringer. Vi bruger indlejringer leveret af Hugging Face Transformers-biblioteket.

Nu vil vi konfigurere et vektorlager ved hjælp af Faiss. Grundlæggende transformeres dine tekstdata til vektorer ved hjælp af de leverede indlejringer, og Faiss bruges til effektivt at indeksere og søge i disse vektorer.

Nu vil vi indlæse Googles flan-t5-xxl LLM fra HuggingFace. Det er et værdifuldt værktøj i spørgsmål-svar opgaver på grund af dens tekst-til-tekst tilgang, foruddannelse og store modelstørrelse.

Derefter skal vi oprette en kæde ved hjælp af LangChain. Kæder gør det muligt for os at sammensætte flere komponenter i en sammenhængende applikation.

Vi vil oprette en simpel kæde: den starter med en forespørgsel, og forespørgslen sendes derefter til LLM.

For kontekst, herunder er delen af resuméet, som LLM svarede ud fra —
"Preamble: Preamble i den indiske forfatning skitserer de idealer og mål, som forfatningsskaberne havde til hensigt at opnå. Det fremhæver Indien som en suveræn, socialistisk, sekulær og demokratisk republik, der søger retfærdighed, frihed, lighed og broderskab for sine borgere."
Lad os stille endnu et spørgsmål om det

Applikationer —
- AI-chatbots og virtuelle assistenter: De spørgsmål-svar-evner, der er indlejret i denne kode, lægger grundlaget for at skabe AI-chatbots og virtuelle assistenter, der kan give øjeblikkelige, kontekstbevidste svar på brugerforespørgsler. Dette har anvendelser inden for kundesupport, e-læring og meget mere.
- Uddannelsesværktøjer: Undervisere og elever kan have gavn af automatiseret spørgsmål-svar, hvilket hjælper med at afklare tvivl og forbedre læreoplevelsen. Det kan også bruges til generering af uddannelsesindhold.
- Indholds-anbefalingsmotorer: Ved at forstå konteksten og hensigten bag forespørgsler kan denne kode bruges til at udvikle indholds-anbefalingssystemer, der sikrer, at brugerne modtager højt relevante forslag.
For læsere, der er interesseret i at dykke dybere ned i disse applikationer og udforske flere værktøjer til deres projekter, her er et par værdifulde ressourcer:
FlowiseAI - Byg LLMs Apps nemt Open source UI visuelt værktøj til at bygge dit tilpassede LLM flow ved hjælp af Langchainflowiseai.comLangflow Venteliste Tilmeld dig Langflow ventelisten i dag og opdag en strømlinet tilgang til LLMs. Open source og brugervenlig, Langflow…www.langflow.orgKonklusion —
Denne artikel viste, hvordan LangChain kan bruges i udviklingen af applikationer drevet af sprogmodeller, og hvordan dens fleksible abstraktioner og omfattende toolkit gør det muligt for udviklere at udnytte kraften i LLMs.
I det stadigt udvikling sig landskab af AI er LLMs opstået som game-changers, og vi er stolte af at være en del af denne spændende rejse mod en smartere, mere effektiv fremtid. Vi ser frem til at udnytte LLMs til at drive innovation, løse komplekse udfordringer og yde endnu større værdi til vores kunder og partnere på My Next Developer.



