Bilde av redaktør
Store språkmodeller (LLMs) som OpenAIs GPT-3, Googles BERT og Metas LLaMA revolusjonerer ulike sektorer med deres evne til å generere et bredt spekter av tekst – fra markedsføringstekster og datavitenskapelige manus til poesi.
Selv om ChatGPTs intuitive grensesnitt har klart å være i de flestes enheter i dag, er det fortsatt et stort landskap av uutnyttet potensial for å bruke LLM-er i ulike programvareintegrasjoner.
Hovedproblemet?
De fleste applikasjoner krever mer flytende og naturlig kommunikasjon med LLM-er.
Og det er nettopp her LangChain slår inn!
Hvis du er interessert i Generative AI og LLMs, er denne opplæringen skreddersydd for deg.
Så... la oss starte!
Bare i tilfelle du har bodd i en hule og ikke har fått noen nyheter i det siste, vil jeg kort forklare store språkmodeller eller LLM-er.
En LLM er et sofistikert kunstig intelligenssystem bygget for å etterligne menneskelignende tekstforståelse og generering. Ved å trene på enorme datasett, skiller disse modellene intrikate mønstre, tar tak i språklige finesser og produserer sammenhengende utdata.
Hvis du lurer på hvordan du samhandler med disse AI-drevne modellene, er det to hovedmåter å gjøre det på:
- Den vanligste og direkte måten er å snakke eller chatte med modellen. Det innebærer å lage en forespørsel, sende den til den AI-drevne modellen og få en tekstbasert utgang som svar.
- En annen metode er å konvertere tekst til numeriske matriser. Denne prosessen innebærer å komponere en ledetekst for AI og motta en numerisk matrise i retur. Det som vanligvis er kjent som en "embedding". Den har nylig opplevd en økning i vektordatabaser og semantisk søk.
Og det er nettopp disse to hovedproblemene LangChain prøver å ta tak i. Hvis du er interessert i hovedproblemene med å samhandle med LLM-er, kan du sjekke denne artikkelen her..
LangChain er et åpen kildekode-rammeverk bygget rundt LLM-er. Det bringer til bordet et arsenal av verktøy, komponenter og grensesnitt som strømlinjeformer arkitekturen til LLM-drevne applikasjoner.
Med LangChain blir det en lek å engasjere seg med språkmodeller, sammenkobling av ulike komponenter og inkorporere eiendeler som APIer og databaser. Dette intuitive rammeverket forenkler LLM-applikasjonsutviklingsreisen betydelig.
Kjerneideen til Long Chain er at vi kan koble sammen ulike komponenter eller moduler, også kjent som kjeder, for å skape mer sofistikerte LLM-drevne løsninger.
Her er noen fremtredende funksjoner til LangChain:
- Tilpassbare spørsmålsmaler for å standardisere interaksjonene våre.
- Kjedeleddkomponenter skreddersydd for sofistikerte brukstilfeller.
- Sømløs integrasjon med ledende språkmodeller, inkludert OpenAIs GPT-er og de på HuggingFace Hub.
- Modulære komponenter for en miks-og-match-tilnærming for å vurdere ethvert spesifikt problem eller oppgave.
Bilde av forfatter
LangChain utmerker seg ved sitt fokus på tilpasningsevne og modulær design.
Hovedideen bak LangChain er å bryte ned den naturlige språkbehandlingssekvensen i individuelle deler, slik at utviklere kan tilpasse arbeidsflyter basert på deres krav.
Slik allsidighet posisjonerer LangChain som et førsteklasses valg for å bygge AI-løsninger i forskjellige situasjoner og bransjer.
Noen av de viktigste komponentene er...
Bilde av forfatter
1. LLM-er
LLM-er er grunnleggende komponenter som utnytter enorme mengder treningsdata for å forstå og generere menneskelignende tekst. De er kjernen i mange operasjoner i LangChain, og gir de nødvendige språkbehandlingsmulighetene for å analysere, tolke og svare på tekstinndata.
Bruk: Driver chatbots, genererer menneskelignende tekst for ulike applikasjoner, hjelper til med informasjonshenting og utfører annen språkbehandling
2. Spørsmål
Forespørsler er grunnleggende for å samhandle med LLM, og når du jobber med spesifikke oppgaver, har strukturen en tendens til å være lik. Spørsmål, som er forhåndsinnstilte ledetekster som kan brukes på tvers av kjeder, tillater standardisering av "forespørsler" ved å legge til spesifikke verdier. Dette forbedrer tilpasningsevnen og tilpasningen til enhver LLM.
Bruk: Standardisering av prosessen med å samhandle med LLM-er.
3. Utdataparsere
Utdataparsere er komponenter som tar råutdataene fra et foregående trinn i kjeden og konverterer det til et strukturert format. Disse strukturerte dataene kan deretter brukes mer effektivt i påfølgende stadier eller leveres som et svar til sluttbrukeren.
Bruk: For eksempel, i en chatbot, kan en utdataparser ta råtekstsvaret fra en språkmodell, trekke ut viktige deler av informasjonen og formatere dem til et strukturert svar.
4. Komponenter og kjeder
I LangChain fungerer hver komponent som en modul som er ansvarlig for en bestemt oppgave i språkbehandlingssekvensen. Disse komponentene kan kobles til form kjeder for tilpassede arbeidsflyter.
Bruk: Generering av sentimentdeteksjon og responsgeneratorkjeder i en spesifikk chatbot.
5. minne
Minne i LangChain refererer til en komponent som gir en lagrings- og gjenfinningsmekanisme for informasjon i en arbeidsflyt. Denne komponenten gir mulighet for midlertidig eller vedvarende lagring av data som kan aksesseres og manipuleres av andre komponenter under interaksjonen med LLM.
Bruk: Dette er nyttig i scenarier der data må beholdes på tvers av ulike stadier av behandlingen, for eksempel lagring av samtalehistorikk i en chatbot for å gi kontekstbevisste svar.
6. Agenter
Agenter er autonome komponenter som er i stand til å utføre handlinger basert på dataene de behandler. De kan samhandle med andre komponenter, eksterne systemer eller brukere for å utføre spesifikke oppgaver innenfor en LangChain-arbeidsflyt.
Bruk: For eksempel kan en agent håndtere brukerinteraksjoner, behandle innkommende forespørsler og koordinere dataflyten gjennom kjeden for å generere passende svar.
7. Indekser og retrievere
Indekser og hentere spiller en avgjørende rolle i å administrere og få tilgang til data effektivt. Indekser er datastrukturer som inneholder informasjon og metadata fra modellens treningsdata. På den annen side er retrievere mekanismer som samhandler med disse indeksene for å hente relevante data basert på spesifiserte kriterier og tillate modellen å svare bedre ved å gi relevant kontekst.
Bruk: De er medvirkende til å raskt hente relevante data eller dokumenter fra et stort datasett, noe som er avgjørende for oppgaver som informasjonsinnhenting eller svar på spørsmål.
8. Dokumenttransformatorer
I LangChain er Document Transformers spesialiserte komponenter designet for å behandle og transformere dokumenter på en måte som gjør dem egnet for videre analyse eller behandling. Disse transformasjonene kan inkludere oppgaver som tekstnormalisering, funksjonsuttrekking eller konvertering av tekst til et annet format.
Bruk: Forberede tekstdata for påfølgende behandlingstrinn, for eksempel analyse ved hjelp av maskinlæringsmodeller eller indeksering for effektiv gjenfinning.
9. Innbyggingsmodeller
De brukes til å konvertere tekstdata til numeriske vektorer i et høydimensjonalt rom. Disse modellene fanger opp semantiske forhold mellom ord og uttrykk, noe som muliggjør en maskinlesbar representasjon. De danner grunnlaget for ulike nedstrøms Natural Language Processing (NLP) oppgaver innenfor LangChain-økosystemet.
Bruk: Tilrettelegging for semantiske søk, likhetssammenligninger og andre maskinlæringsoppgaver ved å gi en numerisk representasjon av tekst.
10. Vektorbutikker
Type databasesystem som spesialiserer seg på å lagre og søke etter informasjon via innebygging, i hovedsak analyserer numeriske representasjoner av tekstlignende data. VectorStore fungerer som et lagringsanlegg for disse innebyggingene.
Bruk: Tillater effektivt søk basert på semantisk likhet.
Installerer den ved hjelp av PIP
Det første vi må gjøre er å sørge for at vi har LangChain installert i miljøet vårt.
pip install langchain
Miljøoppsett
Å bruke LangChain betyr vanligvis å integrere med ulike modellleverandører, datalagre, APIer, blant andre komponenter. Og som du allerede vet, som enhver integrasjon, er det avgjørende for LangChains drift å levere de relevante og riktige API-nøklene.
Tenk deg at vi vil bruke vår OpenAI API. Vi kan enkelt oppnå dette på to måter:
- Sette opp nøkkel som en miljøvariabel
OPENAI_API_KEY="..."
or
import os
os.environ['OPENAI_API_KEY'] = “...”
Hvis du velger å ikke etablere en miljøvariabel, har du muligheten til å gi nøkkelen direkte gjennom openai_api_key named parameter når du starter OpenAI LLM-klassen:
- Sett opp nøkkelen direkte i den aktuelle klassen.
from langchain.llms import OpenAI
llm = OpenAI(openai_api_key="...")
Det blir enkelt å bytte mellom LLM
LangChain tilbyr en LLM-klasse som lar oss samhandle med forskjellige språkmodellleverandører, som OpenAI og Hugging Face.
Det er ganske enkelt å komme i gang med en hvilken som helst LLM, siden den mest grunnleggende og enkleste å implementere funksjonaliteten til enhver LLM er bare å generere tekst.
Det er imidlertid ikke så lett å spørre den samme forespørselen til forskjellige LLM-er samtidig.
Det er her LangChain slår inn...
For å komme tilbake til den enkleste funksjonaliteten til enhver LLM, kan vi enkelt bygge en applikasjon med LangChain som får en strengmelding og returnerer utdataene fra vår utpekte LLM.
Kode etter forfatter
Vi kan ganske enkelt bruke den samme ledeteksten og få svar fra to forskjellige modeller innen få linjer med kode!
Kode etter forfatter
Imponerende... ikke sant?
Gi struktur til våre forespørsler med ledetekstmaler
Et vanlig problem med språkmodeller (LLM) er deres manglende evne til å eskalere komplekse applikasjoner. LangChain adresserer dette ved å tilby en løsning for å strømlinjeforme prosessen med å lage ledetekster, som ofte er mer intrikat enn bare å definere en oppgave, da det krever å skissere AIs persona og sikre faktisk nøyaktighet. En betydelig del av dette involverer repeterende boilerplate-tekst. LangChain lindrer dette ved å tilby promptmaler, som automatisk inkluderer boilerplate-tekst i nye prompter, og dermed forenkler oppretting av prompt og sikrer konsistens på tvers av ulike oppgaver.
Kode etter forfatter
Få strukturerte svar med utdataparsere
I chat-baserte interaksjoner er modellens utdata bare tekst. Likevel, innenfor programvareapplikasjoner, er det å ha en strukturert utgang å foretrekke, da det gir mulighet for ytterligere programmeringshandlinger. For eksempel, når du genererer et datasett, er det ønskelig å motta svaret i et spesifikt format som CSV eller JSON. Forutsatt at en forespørsel kan lages for å fremkalle et konsistent og passende formatert svar fra AI, er det behov for verktøy for å administrere denne utgangen. LangChain imøtekommer dette kravet ved å tilby utdataparserverktøy for å håndtere og utnytte den strukturerte utgangen effektivt.
Kode etter forfatter
Du kan gå og sjekke hele koden på min GitHub.
For ikke lenge siden gjorde de avanserte egenskapene til ChatGPT oss ærefrykt. Likevel er det teknologiske miljøet i stadig endring, og nå er verktøy som LangChain tilgjengelig for oss, slik at vi kan lage fremragende prototyper fra våre personlige datamaskiner på bare noen få timer.
LangChain, en fritt tilgjengelig Python-plattform, gir brukere et middel til å utvikle applikasjoner forankret av LLM-er (Language Model Models). Denne plattformen leverer et fleksibelt grensesnitt til en rekke grunnleggende modeller, effektiviserer umiddelbar håndtering og fungerer som en nexus for elementer som ledetekstmaler, flere LLM-er, ekstern informasjon og andre ressurser via agenter, fra og med gjeldende dokumentasjon.
Se for deg chatbots, digitale assistenter, språkoversettelsesverktøy og sentimentanalyseverktøy; alle disse LLM-aktiverte applikasjonene kommer til live med LangChain. Utviklere bruker denne plattformen til å lage skreddersydde språkmodellløsninger som dekker forskjellige krav.
Etter hvert som horisonten for naturlig språkbehandling utvides, og dens adopsjon blir dypere, virker anvendelsesområdet grenseløst.
Josep Ferrer er en analyseingeniør fra Barcelona. Han ble uteksaminert i fysikkingeniør og jobber for tiden i Data Science-feltet brukt på menneskelig mobilitet. Han er en deltidsinnholdsskaper med fokus på datavitenskap og teknologi. Du kan kontakte ham på Linkedin, Twitter or Medium.
- SEO-drevet innhold og PR-distribusjon. Bli forsterket i dag.
- PlatoData.Network Vertical Generative Ai. Styrk deg selv. Tilgang her.
- PlatoAiStream. Web3 Intelligence. Kunnskap forsterket. Tilgang her.
- PlatoESG. Karbon, CleanTech, Energi, Miljø, Solenergi, Avfallshåndtering. Tilgang her.
- PlatoHelse. Bioteknologisk og klinisk etterretning. Tilgang her.
- kilde: https://www.kdnuggets.com/how-to-make-large-language-models-play-nice-with-your-software-using-langchain?utm_source=rss&utm_medium=rss&utm_campaign=how-to-make-large-language-models-play-nice-with-your-software-using-langchain
- : har
- :er
- :ikke
- :hvor
- $OPP
- 7
- a
- evne
- aksesseres
- Tilgang
- utrette
- nøyaktighet
- tvers
- skuespill
- handlinger
- handlinger
- legge
- adresse
- adresser
- adressering
- Adopsjon
- avansert
- Agent
- agenter
- siden
- AI
- AI-drevet
- Alle
- tillate
- tillate
- tillater
- allerede
- også
- blant
- beløp
- an
- analyse
- analytics
- analysere
- analyserer
- forankret
- og
- noen
- api
- APIer
- Søknad
- Applikasjonutvikling
- søknader
- anvendt
- tilnærming
- hensiktsmessig
- arkitektur
- ER
- rundt
- Array
- Arsenal
- Artikkel
- kunstig
- kunstig intelligens
- AS
- spør
- vurdere
- Eiendeler
- assistenter
- At
- autonom
- tilgjengelig
- ÆREFRYKT
- tilbake
- barcelona
- basert
- grunnleggende
- BE
- bli
- blir
- vært
- bak
- Bedre
- mellom
- Grenseløst
- Breaking
- kort
- Bringer
- bygge
- Bygning
- bygget
- by
- CAN
- evner
- stand
- fangst
- saken
- saker
- henvender seg
- Cave
- kjede
- kjeder
- chatbot
- chatbots
- ChatGPT
- chatting
- sjekk
- valg
- Velg
- klasse
- kode
- SAMMENHENGENDE
- Kom
- Felles
- vanligvis
- Kommunikasjon
- sammenligninger
- komplekse
- komponent
- komponenter
- datamaskiner
- Koble
- tilkoblet
- konsistent
- kontakt
- innhold
- kontekst
- Samtale
- Konvertering
- konvertere
- konvertering
- koordinere
- Kjerne
- korrigere
- lage
- utformet
- skape
- Opprette
- skaperverket
- skaperen
- kriterier
- avgjørende
- Gjeldende
- I dag
- tilpasning
- tilpasse
- tilpasset
- dato
- datavitenskap
- datasett
- Database
- databaser
- utdyper
- definere
- levert
- leverer
- utforming
- utpekt
- designet
- ønsket
- Gjenkjenning
- utvikle
- utviklere
- Utvikling
- Enheter
- forskjellig
- digitalt
- direkte
- direkte
- skjelne
- distinkt
- Fornem
- diverse
- do
- dokument
- dokumentasjon
- dokumenter
- ned
- under
- hver enkelt
- enkleste
- lett
- lett
- økosystem
- effektivt
- effektiv
- effektivt
- elementer
- embedding
- muliggjør
- slutt
- engasjerende
- ingeniør
- Ingeniørarbeid
- Forbedrer
- enorm
- sikrer
- Miljø
- eskalere
- avgjørende
- hovedsak
- etablere
- Eter (ETH)
- stadig skiftende
- eksempel
- utvides
- erfaren
- Forklar
- utvendig
- trekke ut
- utdrag
- Face
- Facility
- fakta
- Trekk
- Egenskaper
- Noen få
- felt
- tuppene
- Først
- fleksibel
- flyten
- væske
- Fokus
- fokuserte
- Til
- skjema
- format
- Fundament
- grunn
- Rammeverk
- fritt
- fra
- funksjonalitet
- fundamental
- videre
- generere
- genererer
- generasjonen
- generative
- Generativ AI
- generator
- få
- få
- Go
- Googles
- gripe
- hånd
- håndtere
- Håndtering
- Ha
- å ha
- he
- ham
- historie
- holder
- horisont
- TIMER
- Hvordan
- Hvordan
- HTTPS
- Hub
- Klem ansikt
- menneskelig
- JEG VIL
- Tanken
- if
- importere
- viktig
- in
- manglende evne
- inkludere
- Inkludert
- Innkommende
- innlemme
- indekser
- individuelt
- bransjer
- informasjon
- initiere
- inngang
- installere
- f.eks
- instrumental
- Integrering
- integrering
- integrasjoner
- Intelligens
- samhandle
- samhandler
- interaksjon
- interaksjoner
- interessert
- Interface
- grensesnitt
- sammenkobling
- inn
- innviklet
- intuitiv
- innebærer
- utstedelse
- IT
- DET ER
- reise
- JSON
- bare
- KDnuggets
- nøkkel
- nøkler
- Kicks
- Vet
- kjent
- landskap
- Språk
- stor
- ledende
- læring
- venstre
- Leverage
- Life
- i likhet med
- linjer
- LINK
- levende
- Llama
- Lang
- maskin
- maskinlæring
- Hoved
- gjøre
- GJØR AT
- administrer
- fikk til
- administrerende
- manipulert
- mange
- Marketing
- Kan..
- midler
- mekanisme
- mekanismer
- bare
- metadata
- metode
- kunne
- mobilitet
- modell
- modeller
- modulære
- moduler
- Moduler
- mer
- mest
- my
- oppkalt
- innfødt
- Naturlig
- Naturlig språk
- Natural Language Processing
- nødvendig
- Trenger
- behov
- Ny
- nyheter
- nexus
- fint
- nlp
- nå
- of
- tilby
- ofte
- on
- gang
- åpen kildekode
- OpenAI
- drift
- Drift
- Alternativ
- or
- OS
- Annen
- vår
- skisserer
- produksjon
- utganger
- enestående
- parameter
- del
- Spesielt
- deler
- mønstre
- Ansatte
- utføre
- utfører
- personlig
- Personlige datamaskiner
- setninger
- Fysikk
- stykker
- plattform
- plato
- Platon Data Intelligence
- PlatonData
- Spille
- Poesi
- stillinger
- potensiell
- nettopp
- foret
- Prime
- Problem
- problemer
- prosess
- prosessering
- produsere
- Programmering
- ledetekster
- prototyper
- gi
- tilbydere
- gir
- gi
- Python
- spørsmål
- raskt
- ganske
- Raw
- riket
- mottak
- nylig
- refererer
- Relasjoner
- relevant
- repeterende
- svar
- representasjon
- forespørsler
- krever
- behov
- Krav
- Krever
- Ressurser
- Svare
- svar
- svar
- ansvarlig
- beholdes
- retur
- avkastning
- revolusjonerer
- ikke sant
- Rolle
- s
- samme
- scenarier
- Vitenskap
- Vitenskap og teknologi
- skript
- Søk
- søk
- sektorer
- synes
- sending
- sentiment
- Sequence
- serverer
- sett
- sett
- innstilling
- signifikant
- lignende
- forenkler
- forenkle
- ganske enkelt
- situasjoner
- So
- Software
- løsning
- Solutions
- noen
- sofistikert
- Rom
- spesialisert
- spesialisert
- spesifikk
- spesifisert
- Scene
- stadier
- standardisering
- startet
- Still
- lagring
- oppbevare
- butikker
- effektivisere
- effektivisering
- String
- struktur
- strukturert
- strukturer
- senere
- i det vesentlige
- slik
- egnet
- forsyne
- sikker
- bølge
- system
- Systemer
- bord
- skreddersydd
- Ta
- ta
- snakker
- Oppgave
- oppgaver
- teknologisk
- Teknologi
- maler
- midlertidig
- pleier
- tekst
- tekstlig
- enn
- Det
- De
- deres
- Dem
- deretter
- Der.
- Disse
- de
- ting
- denne
- De
- selv om?
- Gjennom
- Dermed
- til
- i dag
- sammen
- verktøy
- Kurs
- Transform
- transformasjoner
- transformers
- Oversettelse
- tutorial
- to
- typisk
- forstå
- forståelse
- uutnyttet
- us
- bruk
- bruke
- brukt
- Bruker
- Brukere
- ved hjelp av
- verktøy
- bruke
- Verdier
- variabel
- variasjon
- ulike
- enorme
- allsidighet
- veldig
- av
- ønsker
- Vei..
- måter
- we
- Hva
- Hva er
- når
- hvilken
- hele
- bred
- med
- innenfor
- lurer
- ord
- arbeidsflyt
- arbeidsflyt
- arbeid
- ennå
- du
- Din
- zephyrnet