Bild av redaktör
Stora språkmodeller (LLM) som OpenAI:s GPT-3, Googles BERT och Metas LLaMA revolutionerar olika sektorer med sin förmåga att generera ett brett utbud av text? – från marknadsföringstexter och datavetenskapliga manus till poesi.
Även om ChatGPT:s intuitiva gränssnitt har lyckats finnas i de flesta människors enheter idag, finns det fortfarande ett stort landskap av outnyttjad potential för att använda LLM i olika programvaruintegrationer.
Huvudproblemet?
De flesta applikationer kräver mer flytande och inbyggd kommunikation med LLM:er.
Och det är just här LangChain slår in!
Om du är intresserad av Generativ AI och LLM, är den här handledningen skräddarsydd för dig.
Så... låt oss börja!
Ifall du har bott i en grotta och inte har fått några nyheter på sistone, ska jag kort förklara stora språkmodeller eller LLM.
En LLM är ett sofistikerat artificiell intelligenssystem byggt för att efterlikna människoliknande textförståelse och generering. Genom att träna på enorma datamängder urskiljer dessa modeller intrikata mönster, förstår språkliga finesser och producerar sammanhängande utdata.
Om du undrar hur man interagerar med dessa AI-drivna modeller finns det två huvudsakliga sätt att göra det:
- Det vanligaste och mest direkta sättet är att prata eller chatta med modellen. Det innebär att skapa en prompt, skicka den till den AI-drivna modellen och få en textbaserad utdata som ett svar.
- En annan metod är att konvertera text till numeriska arrayer. Denna process involverar att komponera en prompt för AI och ta emot en numerisk array i gengäld. Vad som är allmänt känt som en "inbäddning". Den har nyligen upplevt en ökning av vektordatabaser och semantisk sökning.
Och det är just dessa två huvudproblem som LangChain försöker lösa. Om du är intresserad av de viktigaste problemen med att interagera med LLM:er kan du kolla den här artikeln här..
LangChain är ett ramverk med öppen källkod byggt kring LLM:er. Det ger bordet en arsenal av verktyg, komponenter och gränssnitt som effektiviserar arkitekturen för LLM-drivna applikationer.
Med LangChain blir det enkelt att engagera sig i språkmodeller, länka samman olika komponenter och införliva tillgångar som API:er och databaser. Detta intuitiva ramverk förenklar avsevärt LLM-applikationsutvecklingsresan.
Kärnidén med Long Chain är att vi kan koppla samman olika komponenter eller moduler, även kända som kedjor, för att skapa mer sofistikerade LLM-drivna lösningar.
Här är några enastående funktioner hos LangChain:
- Anpassningsbara promptmallar för att standardisera vår interaktion.
- Kedjelänkskomponenter skräddarsydda för sofistikerade användningsfall.
- Sömlös integration med ledande språkmodeller, inklusive OpenAI:s GPT:er och de på HuggingFace Hub.
- Modulära komponenter för en mix-and-match-metod för att bedöma ett specifikt problem eller uppgift.
Bild av författare
LangChain utmärker sig genom sitt fokus på anpassningsförmåga och modulär design.
Huvudidén bakom LangChain är att bryta ner den naturliga språkbehandlingssekvensen i enskilda delar, vilket gör det möjligt för utvecklare att anpassa arbetsflöden baserat på deras krav.
Sådan mångsidighet positionerar LangChain som ett utmärkt val för att bygga AI-lösningar i olika situationer och branscher.
Några av dess viktigaste komponenter är...
Bild av författare
1. LLM
LLM:er är grundläggande komponenter som utnyttjar stora mängder träningsdata för att förstå och generera människoliknande text. De är kärnan i många operationer inom LangChain, och tillhandahåller de nödvändiga språkbehandlingsmöjligheterna för att analysera, tolka och svara på textinmatning.
Användning: Att driva chatbots, generera människoliknande text för olika applikationer, hjälpa till med informationssökning och utföra annan språkbehandling
2. Fråga mallar
Uppmaningar är grundläggande för att interagera med LLM, och när man arbetar med specifika uppgifter tenderar deras struktur att vara liknande. Promptmallar, som är förinställda prompter som kan användas över kedjor, tillåter standardisering av "prompter" genom att lägga till specifika värden. Detta förbättrar anpassningsförmågan och anpassningen av alla LLM.
Användning: Standardisera processen för att interagera med LLM:er.
3. Utdataparsers
Utdataparsers är komponenter som tar råutdata från ett föregående steg i kedjan och omvandlar det till ett strukturerat format. Denna strukturerade data kan sedan användas mer effektivt i efterföljande steg eller levereras som ett svar till slutanvändaren.
Användning: Till exempel, i en chatbot kan en utdataparser ta råtextsvaret från en språkmodell, extrahera viktiga delar av information och formatera dem till ett strukturerat svar.
4. Komponenter och kedjor
I LangChain fungerar varje komponent som en modul ansvarig för en viss uppgift i språkbehandlingssekvensen. Dessa komponenter kan kopplas till form kedjor för anpassade arbetsflöden.
Användning: Genererar kedjor för sentimentdetektering och svarsgenerator i en specifik chatbot.
5. Minne
Minne i LangChain hänvisar till en komponent som tillhandahåller en lagrings- och hämtningsmekanism för information inom ett arbetsflöde. Denna komponent möjliggör temporär eller beständig lagring av data som kan nås och manipuleras av andra komponenter under interaktionen med LLM.
Användning: Detta är användbart i scenarier där data måste behållas över olika stadier av bearbetningen, till exempel lagring av konversationshistorik i en chatbot för att ge kontextmedvetna svar.
6. agenter
Agenter är autonoma komponenter som kan vidta åtgärder baserat på den data de bearbetar. De kan interagera med andra komponenter, externa system eller användare för att utföra specifika uppgifter inom ett LangChain-arbetsflöde.
Användning: En agent kan till exempel hantera användarinteraktioner, behandla inkommande förfrågningar och koordinera dataflödet genom kedjan för att generera lämpliga svar.
7. Index och retrievers
Index och retrievers spelar en avgörande roll för att hantera och komma åt data effektivt. Index är datastrukturer som innehåller information och metadata från modellens träningsdata. Å andra sidan är retrievers mekanismer som interagerar med dessa index för att hämta relevant data baserat på specificerade kriterier och tillåta modellen att svara bättre genom att tillhandahålla relevant sammanhang.
Användning: De är avgörande för att snabbt hämta relevant data eller dokument från en stor datamängd, vilket är viktigt för uppgifter som informationshämtning eller svar på frågor.
8. Dokumenttransformatorer
I LangChain är Document Transformers specialiserade komponenter utformade för att bearbeta och transformera dokument på ett sätt som gör dem lämpliga för vidare analys eller bearbetning. Dessa transformationer kan innefatta uppgifter som textnormalisering, funktionsextraktion eller konvertering av text till ett annat format.
Användning: Förbereda textdata för efterföljande bearbetningssteg, såsom analys av maskininlärningsmodeller eller indexering för effektiv hämtning.
9. Inbäddningsmodeller
De används för att konvertera textdata till numeriska vektorer i ett högdimensionellt utrymme. Dessa modeller fångar semantiska relationer mellan ord och fraser, vilket möjliggör en maskinläsbar representation. De utgör grunden för olika nedströms Natural Language Processing (NLP) uppgifter inom LangChain ekosystem.
Användning: Underlätta semantiska sökningar, likhetsjämförelser och andra maskininlärningsuppgifter genom att tillhandahålla en numerisk representation av text.
10. Vektorbutiker
Typ av databassystem som är specialiserat på att lagra och söka information via inbäddningar, huvudsakligen analysera numeriska representationer av textliknande data. VectorStore fungerar som en lagringsanläggning för dessa inbäddningar.
Användning: Tillåter effektiv sökning baserat på semantisk likhet.
Installerar den med PIP
Det första vi måste göra är att se till att vi har LangChain installerat i vår miljö.
pip install langchain
Miljöuppsättning
Att använda LangChain innebär vanligtvis att integrera med olika modellleverantörer, datalager, API:er, bland andra komponenter. Och som du redan vet, precis som all integration, är det avgörande för LangChains drift att tillhandahålla de relevanta och korrekta API-nycklarna.
Föreställ dig att vi vill använda vårt OpenAI API. Vi kan enkelt åstadkomma detta på två sätt:
- Ställa in nyckel som en miljövariabel
OPENAI_API_KEY="..."
or
import os
os.environ['OPENAI_API_KEY'] = “...”
Om du väljer att inte upprätta en miljövariabel har du möjlighet att tillhandahålla nyckeln direkt via den namngivna parametern openai_api_key när du initierar OpenAI LLM-klassen:
- Ställ in nyckeln direkt i relevant klass.
from langchain.llms import OpenAI
llm = OpenAI(openai_api_key="...")
Att växla mellan LLM:er blir enkelt
LangChain tillhandahåller en LLM-klass som låter oss interagera med olika språkmodellleverantörer, som OpenAI och Hugging Face.
Det är ganska enkelt att komma igång med vilken LLM som helst, eftersom den mest grundläggande och enklaste att implementera funktionaliteten av alla LLM är att bara generera text.
Det är dock inte så lätt att fråga exakt samma uppmaning till olika LLM:er på en gång.
Det är här LangChain slår in...
För att komma tillbaka till den enklaste funktionaliteten för alla LLM, kan vi enkelt bygga en applikation med LangChain som får en strängprompt och returnerar utdata från vår utsedda LLM.
Kod efter författare
Vi kan helt enkelt använda samma prompt och få svar från två olika modeller inom några rader kod!
Kod efter författare
Imponerande... eller hur?
Ge struktur åt våra meddelanden med snabbmallar
Ett vanligt problem med språkmodeller (LLM) är deras oförmåga att eskalera komplexa applikationer. LangChain tar itu med detta genom att erbjuda en lösning för att effektivisera processen att skapa uppmaningar, vilket ofta är mer komplicerat än att bara definiera en uppgift eftersom det kräver att beskriva AI:s persona och säkerställa faktaprecision. En betydande del av detta handlar om repetitiv text på plattan. LangChain lindrar detta genom att erbjuda promptmallar, som autoinkluderar boilerplate-text i nya prompter, vilket förenklar promptskapandet och säkerställer konsistens över olika uppgifter.
Kod efter författare
Få strukturerade svar med utdataparsers
I chattbaserade interaktioner är modellens utdata bara text. Men inom mjukvaruapplikationer är det att föredra att ha en strukturerad utdata eftersom det möjliggör ytterligare programmeringsåtgärder. Till exempel, när du genererar en datauppsättning, är det önskvärt att ta emot svaret i ett specifikt format som CSV eller JSON. Förutsatt att en prompt kan skapas för att framkalla ett konsekvent och lämpligt formaterat svar från AI, finns det ett behov av verktyg för att hantera denna utdata. LangChain tillgodoser detta krav genom att erbjuda utdataparserverktyg för att hantera och använda den strukturerade utdatan effektivt.
Kod efter författare
Du kan gå och kolla hela koden på min GitHub.
För inte så länge sedan lämnade de avancerade funktionerna i ChatGPT oss vördnad. Ändå förändras den tekniska miljön hela tiden, och nu finns verktyg som LangChain till hands, vilket gör att vi kan skapa enastående prototyper från våra persondatorer på bara några timmar.
LangChain, en fritt tillgänglig Python-plattform, tillhandahåller ett sätt för användare att utveckla applikationer förankrade av LLMs (Language Model Models). Den här plattformen levererar ett flexibelt gränssnitt till en mängd olika grundmodeller, effektiviserar snabbhantering och fungerar som en koppling för element som promptmallar, fler LLM:er, extern information och andra resurser via agenter, från och med den aktuella dokumentationen.
Föreställ dig chatbots, digitala assistenter, språköversättningsverktyg och verktyg för sentimentanalys; alla dessa LLM-aktiverade applikationer kommer till liv med LangChain. Utvecklare använder den här plattformen för att skapa skräddarsydda språkmodelllösningar som möter olika krav.
När horisonten för bearbetning av naturligt språk vidgas, och dess antagande fördjupas, verkar området för dess tillämpningar gränslöst.
Josep Ferrer är en analysingenjör från Barcelona. Han tog examen i fysikteknik och arbetar för närvarande inom datavetenskapsområdet tillämpat på mänsklig rörlighet. Han är en innehållsskapare på deltid med fokus på datavetenskap och teknologi. Du kan kontakta honom på LinkedIn, Twitter or Medium.
- SEO-drivet innehåll och PR-distribution. Bli förstärkt idag.
- PlatoData.Network Vertical Generative Ai. Styrka dig själv. Tillgång här.
- PlatoAiStream. Web3 Intelligence. Kunskap förstärkt. Tillgång här.
- Platoesg. Kol, CleanTech, Energi, Miljö, Sol, Avfallshantering. Tillgång här.
- PlatoHealth. Biotech och kliniska prövningar Intelligence. Tillgång här.
- Källa: 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
- :är
- :inte
- :var
- $UPP
- 7
- a
- förmåga
- Accessed
- åtkomst
- åstadkomma
- noggrannhet
- tvärs
- verkande
- åtgärder
- handlingar
- tillsats
- adress
- adresser
- adresse
- Antagande
- avancerat
- Recensioner
- medel
- sedan
- AI
- AI-powered
- Alla
- tillåter
- tillåta
- tillåter
- redan
- också
- bland
- mängder
- an
- analys
- analytics
- analysera
- analys
- förankrade
- och
- vilken som helst
- api
- API: er
- Ansökan
- Application Development
- tillämpningar
- tillämpas
- tillvägagångssätt
- lämpligt
- arkitektur
- ÄR
- runt
- array
- Arsenal
- Artikeln
- konstgjord
- artificiell intelligens
- AS
- be
- bedöma
- Tillgångar
- assistenter
- At
- autonom
- tillgänglig
- VÖRDNAD
- tillbaka
- Barcelona
- baserat
- grundläggande
- BE
- blir
- blir
- varit
- bakom
- Bättre
- mellan
- Gränslös
- Breaking
- i korthet
- Bringar
- SLUTRESULTAT
- Byggnad
- byggt
- by
- KAN
- kapacitet
- kapabel
- fånga
- Vid
- fall
- tillgodoser
- grotta
- kedja
- kedjor
- chatbot
- chatbots
- ChatGPT
- chattar
- ta
- val
- Välja
- klass
- koda
- SAMMANHÄNGANDE
- komma
- Gemensam
- vanligen
- Kommunikation
- jämförelser
- komplex
- komponent
- komponenter
- datorer
- Kontakta
- anslutna
- konsekvent
- kontakta
- innehåll
- sammanhang
- Konversation
- Konvertering
- konvertera
- omvandling
- samordna
- Kärna
- korrekt
- farkoster
- tillverkad
- skapa
- Skapa
- skapande
- skaparen
- kriterier
- avgörande
- Aktuella
- För närvarande
- anpassning
- skräddarsy
- kundanpassad
- datum
- datavetenskap
- datauppsättningar
- Databas
- databaser
- fördjupas
- definierande
- levereras
- levererar
- Designa
- betecknad
- utformade
- önskas
- Detektering
- utveckla
- utvecklare
- Utveckling
- enheter
- olika
- digital
- rikta
- direkt
- urskilja
- distinkt
- Distingerad
- flera
- do
- dokumentera
- dokumentation
- dokument
- ner
- under
- varje
- enklaste
- lätt
- lätt
- ekosystemet
- effektivt
- effektiv
- effektivt
- element
- inbäddning
- möjliggör
- änden
- engagerande
- ingenjör
- Teknik
- Förbättrar
- enorm
- säkerställa
- Miljö
- eskalera
- väsentlig
- väsentligen
- etablera
- Eter (ETH)
- ständigt föränderliga
- exempel
- expanderar
- erfaren
- Förklara
- extern
- extrahera
- extraktion
- Ansikte
- Facility
- Saklig
- Leverans
- Funktioner
- få
- fält
- fingertoppar
- Förnamn
- flexibel
- flöda
- vätska
- Fokus
- fokuserade
- För
- formen
- format
- fundament
- foundational
- Ramverk
- fritt
- från
- funktionalitet
- grundläggande
- ytterligare
- generera
- generera
- generering
- generativ
- Generativ AI
- Generatorn
- skaffa sig
- få
- Go
- Googles
- grepp
- sidan
- hantera
- Arbetsmiljö
- Har
- har
- he
- honom
- historia
- innehav
- horisonten
- ÖPPETTIDER
- Hur ser din drömresa ut
- How To
- HTTPS
- Nav
- Kramar ansikte
- humant
- SJUK
- Tanken
- if
- importera
- med Esport
- in
- Oförmågan
- innefattar
- Inklusive
- Inkommande
- införlivande
- index
- individuellt
- industrier
- informationen
- initiering
- ingång
- installera
- exempel
- instrumental
- Integrera
- integrering
- integrationer
- Intelligens
- interagera
- interagera
- interaktion
- interaktioner
- intresserad
- Gränssnitt
- gränssnitt
- sammanlänkning
- in
- invecklad
- intuitiv
- innebär
- fråga
- IT
- DESS
- resa
- json
- bara
- KDnuggets
- Nyckel
- nycklar
- Kicks
- Vet
- känd
- liggande
- språk
- Large
- ledande
- inlärning
- vänster
- Hävstång
- livet
- tycka om
- rader
- LINK
- levande
- Lama
- Lång
- Maskinen
- maskininlärning
- Huvudsida
- göra
- GÖR
- hantera
- förvaltade
- hantera
- manipuleras
- många
- Marknadsföring
- Maj..
- betyder
- mekanism
- mekanismer
- endast
- metadata
- metod
- kanske
- mobilitet
- modell
- modeller
- modulära
- modul
- Moduler
- mer
- mest
- my
- Som heter
- nativ
- Natural
- Naturligt språk
- Naturlig språkbehandling
- nödvändigt för
- Behöver
- behov
- Nya
- nyheter
- nexus
- trevligt
- nlp
- nu
- of
- erbjuda
- Ofta
- on
- gång
- öppen källkod
- OpenAI
- drift
- Verksamhet
- Alternativet
- or
- OS
- Övriga
- vår
- Disposition
- produktion
- utgångar
- utestående
- parameter
- del
- särskilt
- reservdelar till din klassiker
- mönster
- Personer
- utföra
- utför
- personlig
- Personliga datorer
- fraser
- Fysik
- bitar
- plattform
- plato
- Platon Data Intelligence
- PlatonData
- Spela
- Poesi
- positioner
- potentiell
- exakt
- bättre
- Prime
- Problem
- problem
- process
- bearbetning
- producera
- Programmering
- prompter
- prototyper
- ge
- leverantörer
- ger
- tillhandahålla
- Python
- fråga
- snabbt
- ganska
- Raw
- rike
- mottagande
- senaste
- hänvisar
- Förhållanden
- relevanta
- repetitiva
- svar
- representation
- förfrågningar
- kräver
- krav
- Krav
- Kräver
- Resurser
- Svara
- respons
- svar
- ansvarig
- behöll
- avkastning
- återgår
- revolutionera
- höger
- Roll
- s
- Samma
- scenarier
- Vetenskap
- Vetenskap och teknik
- skript
- Sök
- sök
- Sektorer
- verkar
- skicka
- känsla
- Sekvens
- serverar
- in
- uppsättningar
- inställning
- signifikant
- liknande
- förenklar
- förenkla
- helt enkelt
- situationer
- So
- Mjukvara
- lösning
- Lösningar
- några
- sofistikerade
- Utrymme
- specialiserad
- specialiserat
- specifik
- specificerade
- Etapp
- stadier
- standardisering
- igång
- Fortfarande
- förvaring
- lagra
- lagrar
- effektivisera
- rationalisering
- Sträng
- struktur
- strukturerade
- strukturer
- senare
- väsentligen
- sådana
- lämplig
- leverera
- säker
- uppstår
- system
- System
- bord
- skräddarsydd
- Ta
- tar
- tala
- uppgift
- uppgifter
- teknisk
- Teknologi
- mallar
- temporär
- tenderar
- text
- text-
- än
- den där
- Smakämnen
- deras
- Dem
- sedan
- Där.
- Dessa
- de
- sak
- detta
- de
- fastän?
- Genom
- Således
- till
- i dag
- tillsammans
- verktyg
- Utbildning
- Förvandla
- transformationer
- transformatorer
- Översättning
- handledning
- två
- typiskt
- förstå
- förståelse
- outnyttjad
- us
- användbar
- användning
- Begagnade
- Användare
- användare
- med hjälp av
- verktyg
- utnyttja
- Värden
- variabel
- mängd
- olika
- Omfattande
- mångsidighet
- mycket
- via
- vill
- Sätt..
- sätt
- we
- Vad
- Vad är
- när
- som
- Hela
- bred
- med
- inom
- undrar
- ord
- arbetsflöde
- arbetsflöden
- arbetssätt
- ännu
- dig
- Din
- zephyrnet