LangChain LLM är stadens heta snack. Få en överblick över vad det är och hur du kan komma igång med det.
I och med introduktionen av stora språkmodeller (LLM) har Natural Language Processing varit samtalet på internet. Nya applikationer utvecklas dagligen på grund av LLMs som ChatGPT och LangChain.
LangChain är ett Python-ramverk med öppen källkod som gör det möjligt för utvecklare att utveckla applikationer som drivs av stora språkmodeller. Dess applikationer är chatbots, sammanfattningar, generativa frågor och svar och många fler.
Den här artikeln kommer att ge en introduktion till LangChain LLM. Den kommer att täcka de grundläggande begreppen, hur det jämförs med andra språkmodeller och hur man kommer igång med det.
Förstå LangChain LLM
Innan du förklarar hur LangChain fungerar måste du först förstå hur stora språkmodeller fungerar. En stor språkmodell är en typ av artificiell intelligens (AI) som använder djupinlärning att träna maskininlärningsmodellerna på big data bestående av text-, numerisk och koddata.
Den stora mängden data gör det möjligt för modellen att lära sig de befintliga mönstren och sambanden mellan ord, figurer och symboler. Den här funktionen gör att modellen kan utföra en rad uppgifter, till exempel:
- Textgenerering, språköversättning, kreativt, tekniskt och akademiskt innehållsskrivande och korrekt och relevant frågesvar.
- Objektdetektering i bilder.
- Sammanfattning av böcker, artiklar och forskningsartiklar.
LLMs viktigaste begränsning är att modellerna är mycket generella. Denna funktion innebär att trots deras förmåga att utföra flera uppgifter effektivt, kan de ibland tillhandahålla allmänna svar på frågor eller uppmaningar som kräver expertis och djup domänkunskap istället för specifika svarar.
LangChain-ramverket utvecklades av Harrison Chase i slutet av 2022 och erbjuder ett innovativt tillvägagångssätt för LLM. Processen börjar med att förbearbeta datasettexterna genom att bryta ner den i mindre delar eller sammanfattningar. Sammanfattningarna bäddas sedan in i ett vektorutrymme. Modellen får en fråga, söker igenom sammanfattningarna och ger lämpligt svar.
LangChains förbearbetningsmetod är en kritisk funktion som är oundviklig eftersom LLM: er blir mer kraftfulla och dataintensiva. Denna metod används huvudsakligen i kod- och semantiska sökfall eftersom den ger realtidsinsamling och interaktion med LLM: erna.
LangChain LLM vs. Andra språkmodeller
Följande jämförande översikt syftar till att lyfta fram de unika egenskaperna och möjligheter som skiljer LangChain LLM från andra befintliga språkmodeller på marknaden:
- Minne: Flera LLM: er har ett kort minne, vilket vanligtvis resulterar i kontextförlust om meddelanden överskrider minnesgränsen. LangChain tillhandahåller dock tidigare chattuppmaningar och svar, vilket löser problemet med minnesbegränsningar. Meddelandehistoriken gör det möjligt för en användare att upprepa de tidigare meddelandena till LLM för att sammanfatta det tidigare sammanhanget.
- LLM-växling: Jämfört med andra LLM: er som låser din programvara med en enda modells API, tillhandahåller LangChain en abstraktion som förenklar bytet av LLM: er eller integrera flera LLM: er i din applikation. Detta är användbart när du vill uppgradera dina mjukvarufunktioner med en kompakt modell, till exempel Stability AI: s StableLM från OpenAI: s GPT-3.5.
- Integration: Att integrera LangChain i din applikation är enkelt jämfört med andra LLM: er. Det ger pipeline arbetsflöden genom kedjor och agenter, så att du snabbt kan integrera LangChain i din applikation. När det gäller linjära rörledningar är kedjor objekt som i huvudsak förbinder många delar. Agenter är mer avancerade, vilket gör att du kan välja hur komponenterna ska interagera med hjälp av affärslogik. Till exempel kanske du vill använda villkorlig logik för att bestämma nästa handlingssätt baserat på resultaten av en LLM.
- Dataöverföring: På grund av den allmänna textbaserade naturen hos LLM är det vanligtvis svårt att skicka data till modellen. LangChain löser detta problem genom att använda index. Index gör det möjligt för en applikation att importera data i varierande format och lagra den på ett sätt som gör det möjligt att leverera den rad för rad till en LLM.
- Svar: LangChain tillhandahåller utdataparserverktyg för att ge svar i ett lämpligt format i motsats till andra LLM vars modellsvar består av allmän text. När du använder AI i en applikation är det att föredra att ha ett strukturerat svar som du kan programmera mot.
Komma igång med LangChain LLM
Nu kommer du att lära dig hur du implementerar LangChain i ett riktigt use-case scenario för att förstå hur det fungerar. Innan du startar utvecklingen måste du ställa in utvecklingsmiljön.
Konfigurera din utvecklingsmiljö
Först, skapa en virtuell miljö och installera beroenden nedan:
- OpenAI: För att integrera GPT-3 API i din applikation.
- LangChain: För att integrera LangChain i din applikation.
Använd pip, kör kommandot nedan för att installera beroenden:
pipenv installera langchain openai
Kommandot ovan installerar paketen och skapar en virtuell miljö.
Importera de installerade beroendena
Importera först de nödvändiga klasserna som t.ex LLMChain, OpenAI, ConversationChain, och PromptMall från långkedja paket.
från långkedja importera ConversationChain, OpenAI, PromptTemplate, LLMChain
från langchain.memory importera ConversationBufferWindowMemory
LangChain-klasserna skisserar och utför språkmodellkedjorna.
Åtkomst till OpenAI API Key
Hämta sedan OpenAI API-nyckeln. För att komma åt OpenAIs API-nyckel måste du ha ett OpenAI-konto och gå sedan till OpenAI API-plattform.
På instrumentpanelen klickar du på profilikonen. Klicka sedan på Visa API-nycklar knapp.
Klicka sedan på Skapa ny hemlig nyckel för att få en ny API-nyckel.
Ange det begärda namnet på API-nyckeln.
Du kommer att få en hemlig nyckel prompt.
Kopiera och förvara API-nyckeln på en säker plats för framtida användning.
Utveckla en applikation med LangChain LLM
Du kommer nu att fortsätta med att utveckla en enkel chattapplikation enligt följande:
# Anpassa LLM-mallen
mall = Assistant är en stor språkmodell utbildad av OpenAI.{historia}
Människan: {human_input}
Assistent:
prompt = PromptMall (input_variables=["historia", "human_input"], mall=mall)
Därefter kommer du att ladda ChatGPT-kedjan med hjälp av API-nyckeln du lagrade tidigare.
chatgpt_chain = LLMChain(
llm=OpenAI(openai_api_key="OPENAI_API_KEY",temperatur=0),
prompt=prompt,
verbose=Sann,
memory=ConversationBufferWindowMemory (k=2),
)
# Förutsäg en mening med chatgpt-kedjan
output = chatgpt_chain.predict(
human_input="Vad är MakeUseOf?"
)
# Visa modellens svar
print (output)
Denna kod laddar LLM-kedjan med OpenAI API-nyckeln och promptmallen. Användarinmatning tillhandahålls sedan och dess utdata visas.
Ovan är den förväntade produktionen.
LLMs ökande inflytande
LLMs konsumtion växer snabbt och förändrar hur människor interagerar med kunskapsmaskiner. Ramverk som LangChain ligger i framkant när det gäller att ge utvecklare ett smidigt och enkelt sätt att servera LLM till applikationer. Generativa AI-modeller som ChatGPT, Bard och Hugging Face lämnas inte heller efter i avancerade LLM-applikationer.