Inleiding tot LangChain

Gebouwd voor snelheid: ~10ms latentie, zelfs onder belasting
De razendsnelle manier om je modellen te bouwen, volgen en implementeren!
- Verwerkt 350+ RPS op slechts 1 vCPU — geen tuning nodig
- Productieklaar met volledige enterprise-ondersteuning
LangChain vereenvoudigt AI-ontwikkeling met Large Language Models (LLMs) door modulaire componenten en vooraf ontworpen templates te bieden voor het bouwen van toepassingen zoals chatbots en samenvatters. Het integreert naadloos met LLMs zoals GPT-3.5 en Chat Models, wat taken zoals tekstaanvulling en de generatie van gesprekken mogelijk maakt. LangChain werkt via ketens van acties (chains), wat zorgt voor een efficiënte implementatie op een gestructureerde manier.
LangChain is een open-source framework dat de ontwikkeling vergemakkelijkt van toepassingen die worden aangedreven door Large Language Models (LLMs) - het huidige hoogtepunt in de evolutie van Natural Language Processing (NLP).
Dit artikel stelt de lezer in staat om de kernstructuur en de belangrijkste functies van LangChain te begrijpen en te zien hoe het de ontwikkeling van AI-gestuurde taalkundige oplossingen heeft vereenvoudigd. Het duikt ook in de details om u te helpen uw eigen toepassing te bouwen met behulp van LangChain.
LangChain en LLMs
In de kern is een LLM een deep learning-model dat wordt gebruikt voor taalgebaseerde taken in het domein van NLP, oorspronkelijk gemaakt voor taalvertaling.
Ze maken gebruik van transformer-modellen en zijn getraind op grote datasets, waardoor ze in staat zijn om natuurlijke taal te begrijpen en verschillende taalgerelateerde taken uit te voeren. Prominente LM's zijn onder meer GPT-3.5, LLaMA, Bard, Falcon, enz.
“LangChain is een Python-framework waarmee men LLMs eenvoudig en efficiënt kan gebruiken door een uniforme interface en modulaire componenten te bieden die aan elkaar kunnen worden 'geketend'.”
Dit vereenvoudigt op zijn beurt de creatie van geavanceerde systemen zoals chatbots, image augmenters, sentimentanalyzers, enz. Deze systemen kunnen taal begrijpen, code analyseren, informatie ophalen en diverse andere taken uitvoeren.
De flexibiliteit, uitbreidbaarheid en integratie van LangChain met LLMs maken het een waardevol hulpmiddel op het gebied van natuurlijke taalverwerking en daarbuiten.
Action en Agent
In elk softwareframework zijn "action" en "agent" als het ware de bouwstenen. Het zijn de basisconcepten, maar ze werken anders afhankelijk van de implementatie.
In LangChain:
- Action: Dit verwijst naar een specifieke taak of operatie die een stuk code uitvoert. Het kan variëren van het uitvoeren van berekeningen tot het verzenden van een e-mail.
- Agent: Dit is vergelijkbaar met een virtuele assistent, een programma of component dat autonoom handelt om taken uit te voeren of beslissingen te nemen namens de gebruiker of een ander programma.
LangChain-ecosysteem
Er zijn vijf hoofdsecties in het LangChain-ecosysteem:
- LangChain Libraries: Zie het als bouwen met LEGO-stenen; u kunt ze combineren om verschillende structuren te maken. Met LangChain Libraries kunt u ketens van acties en agents maken zonder elke keer vanaf nul te hoeven beginnen.
- LangChain Templates: Dit zijn vooraf ontworpen frameworks voor verschillende projecten of taken die u direct kunt implementeren zonder vanaf nul te beginnen. Zie het als een LEGO Death Star-model en de libraries als de LEGO-stenen.
- LangServe: Dit wordt gebruikt om LangChain-chains te implementeren als een REST API.
- LangSmith: Het is een ontwikkelaarsplatform dat het mogelijk maakt om chains te debuggen, testen, evalueren en monitoren die zijn gebouwd met welk framework dan ook, niet alleen LangChain.
- LangGraph: Het is als een gereedschapskist voor het maken van slimme computerprogramma's die dingen kunnen onthouden en kunnen samenwerken. Het gebruikt iets genaamd LangChain om deze programma's met elkaar te laten praten. Met LangGraph kunt u deze programma's op een slimme manier keer op keer veel stappen laten uitvoeren.
Lees ook: LangChain vs LangGraph
Belangrijkste componenten van LangChain
Wanneer mensen over LangChain praten, verwijzen ze vaak naar LangChain Libraries en niet naar het gehele LangChain-ecosysteem in het algemeen.
LangChain Libraries
LangChain Libraries helpt bij het bouwen van AI via twee primaire methoden:
- Components: Dit zijn aanpasbare tools en verbindingen die zijn ontworpen voor interactie met taalmodellen. Ze zijn eenvoudig te gebruiken en kunnen onafhankelijk of binnen het LangChain-framework worden gebruikt.
- Pre-made chains: Dit zijn vooraf gebouwde combinaties van componenten voor het bereiken van specifieke taken. Ze stroomlijnen het proces om aan de slag te gaan, terwijl componenten aanpassing en het maken van nieuwe chains mogelijk maken.
Componenten worden verder onderverdeeld in drie typen:
Model I/O:
Dit component vergemakkelijkt de communicatie met het model door duidelijke interfaces en hulpprogramma's te bieden voor het construeren van inputs en het verwerken van outputs, d.w.z. prompt management.
LangChain integreert voornamelijk met twee hoofdtypen modellen: LLMs en Chat Models. LLMs in LangChain richten zich op tekstaanvulling, waarbij ze een string prompt nemen en een string completion genereren, terwijl Chat Models zijn afgestemd op conversationeel gebruik, waarbij ze een lijst met berichten als input accepteren en een door AI gegenereerd bericht retourneren. Promptingstrategieën variëren tussen deze modellen.
Berichten, gecategoriseerd in rollen zoals Human-Message en AI-Message, spelen een cruciale rol in de communicatie met modellen, met aanvullende parameters zoals function_call voor specifieke functionaliteiten.
Retrieval:
Wanneer we taalmodellen zoals LLMs gebruiken, moeten we soms willen dat ze specifieke details over individuele gebruikers begrijpen, zelfs als die details geen deel uitmaakten van hun oorspronkelijke training. Retrieval Augmented Generation (RAG) is een term voor een techniek die we gebruiken om dit mogelijk te maken. In feite betekent dit dat we relevante informatie uit externe bronnen ophalen en deze aan het model voeden wanneer het tekst genereert.
LangChain is een toolkit die alle tools biedt die nodig zijn voor het bouwen van dit soort toepassingen.
Agents:
De "Agent" is als het brein achter de besluitvorming. Het maakt gebruik van een taalmodel en instructies om te bepalen wat er vervolgens moet gebeuren. In plaats van een vaste reeks acties is het flexibeler, waardoor het taalmodel de beste handelswijze kan bepalen. Zie het dus als de slimme besluitvormer in het proces. In chains is een reeks acties hardcoded.
Hoe werkt LangChain?
LangChain werkt vrijwel hetzelfde als het maken van een recept voor een maaltijd. Net zoals u de stappen volgt bij het koken van een gerecht, rijgt LangChain een reeks acties aan elkaar, een "chain" genoemd, om een specifieke AI-gestuurde taak te volbrengen.
Stel u voor dat u op zoek bent naar film-suggesties. LangChain grijpt in door eerst te begrijpen wat u vraagt. Vervolgens verzamelt het details over de films waarvan u geniet en de films die u eerder hebt bekeken. Door uw kijkgeschiedenis en voorkeuren te onderzoeken met behulp van taalmodellen, geavanceerde algoritmen en gegevensverwerkingstechnieken, genereert LangChain gepersonaliseerde suggesties. Ten slotte geeft het u een lijst met gepersonaliseerde aanbevelingen om te bekijken.
Elke schakel in deze "chain" is van belang, net zoals het opvolgen van de stappen in een recept. LangChain stroomlijnt het proces en zorgt voor een naadloze uitvoering van begin tot eind.
Prompts maken in LangChain
We gaan verkennen hoe we een eenvoudig vraag-antwoordsysteem kunnen opzetten met behulp van LangChain en dit kunnen integreren met de Hugging Face Hub (waar LLMs aanwezig zijn) voor tekstgeneratie
LangChain installeren
!pip install langchain
Prompt Template instellen
from langchain import PromptTemplate
template = """Question: {question}
Answer: """
prompt = PromptTemplate(
template=template,
input_variables=['question']
)
Hugging Face Hub LLM gebruiken
Zorg er eerst voor dat u uw Hugging Face API key gereed hebt. Stel deze vervolgens in uw omgeving in
import os
os.environ['HUGGINGFACEHUB_API_TOKEN'] = 'HF_API_KEY'
De Hugging Face Hub-bibliotheek installeren
!pip install huggingface_hub
De Hugging Face Hub initialiseren en gebruiken voor tekstgeneratie
from langchain import HuggingFaceHub, LLMChain
# initialize Hub LLM
hub_llm = HuggingFaceHub(
repo_id='google/flan-t5-xl',
model_kwargs={'temperature':1e-10}
)
Integratie met LangChain
Combineer de prompt template en het Hugging Face Hub-model met behulp van LangChain
# create prompt template > LLM chain
llm_chain = LLMChain(
prompt=prompt,
llm=hub_llm
)
Antwoord genereren
Laten we nu een vraag stellen over het IPL 2023-seizoen en het antwoord ophalen
# user question
question = "Which team won the IPL 2023 season?"# ask the user question about IPL 2023
print(llm_chain.run(question))
Voor deze vraag krijgen we het juiste antwoord "chennai super kings" in de output.
Toepassingen van LangChain:
LangChain biedt gespecialiseerde handleidingen voor het maken van chatbots. Klik op de kop van de lijst om toegang te krijgen.
- Chatbot: Chatbots worden op grote schaal gebruikt vanwege hun vermogen om langdurige, doorlopende gesprekken te voeren met behoud van context. Ze blinken uit in het verstrekken van relevante informatie in reactie op vragen van gebruikers.
- Synthetische datageneratie: Synthetische data is data die kunstmatig is gegenereerd, in tegenstelling tot data die is verzameld uit gebeurtenissen in de echte wereld. Het doel is om echte data na te bootsen zonder inbreuk te maken op de privacy of te worden beperkt door obstakels uit de echte wereld.
- Samenvatter: Als u een stapel documenten hebt zoals PDF's, notities uit Notion of klantvragen, en u moet de essentie ervan terugbrengen tot kortere samenvattingen, dan zijn LLMs uw beste keuze. Ze zijn goed in het begrijpen van de betekenis van de tekst en het effectief condenseren ervan.
- Interactie met API's: Stel u voor dat u een LLM nodig hebt om verbinding te maken met externe API's. Het is een krachtige manier om het begrip van het LLM te verrijken door relevante context binnen te halen. Bovendien opent het de mogelijkheid om in gewone taal met API's te communiceren, wat enorm handig kan zijn!
TrueFoundry AI Gateway levert een latentie van ~3–4 ms, verwerkt 350+ RPS op 1 vCPU, schaalt moeiteloos horizontaal en is klaar voor productie, terwijl LiteLLM last heeft van hoge latentie, moeite heeft boven een gemiddeld aantal RPS, geen ingebouwde schaling heeft en het meest geschikt is voor lichte workloads of prototypes.
















.png)

.webp)



.webp)








.webp)





