Agents en toolconcepten in LangChain
Leer hoe LangChain Agents kunnen redeneren en tools kunnen gebruiken om complexe taken uit te voeren die verder gaan dan eenvoudige vraagbeantwoording.
Agents en toolconcepten in LangChain is een gratis LangChain / RAG / vectordatabases-les op CoddyKit. Dit is les 1 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject LangChain / RAG / vectordatabases. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus LangChain / RAG / vectordatabases bevat in totaal 4 lessen.
Wat zijn LangChain Agents?
Welkom bij Agents! Tot nu toe heb je geleerd om ketens te bouwen die een vaste reeks stappen uitvoeren. Maar wat als je meer flexibiliteit nodig hebt?
LangChain Agents zijn systemen waarmee een LLM dynamisch kan bepalen welke acties moeten worden uitgevoerd, de resultaten kan bekijken en vervolgens de volgende actie kan kiezen. Zie ze als een 'brein' waarmee de LLM kan redeneren en als 'handen' waarmee de LLM met de wereld kan communiceren.
De redeneerkring van de agent
Agents werken volgens een continue kring van observeren-denken-handelen:
- Observeren: De agent ontvangt een invoer (je vraag) en de resultaten van de vorige actie.
- Denken: De LLM redeneert over de huidige situatie en bepaalt wat de volgende stap is.
- Handelen: De agent voert een actie uit, vaak door een hulpmiddel te gebruiken.
Deze kring gaat door totdat de agent bepaalt dat hij genoeg informatie heeft om je vraag te beantwoorden of zijn taak uit te voeren.
Kennismaken met hulpmiddelen
Een LLM op zichzelf heeft alleen toegang tot de kennis waarop hij is getraind. Om acties in de echte wereld uit te voeren of actuele informatie te verkrijgen, heeft hij hulpmiddelen nodig.
Hulpmiddelen zijn functies of API's die een agent kan aanroepen. Ze breiden de mogelijkheden van de LLM uit, zodat die:
- op internet kan zoeken naar actuele gebeurtenissen;
- berekeningen kan uitvoeren;
- databases kan bevragen;
- met andere toepassingen kan communiceren.
Onderdelen van een hulpmiddel
Elk hulpmiddel heeft enkele belangrijke gegevens nodig, zodat de agent het effectief kan gebruiken:
- Naam: Een unieke aanduiding (bijvoorbeeld 'Google Search').
- Beschrijving: Een duidelijke uitleg van wat het hulpmiddel doet en wanneer het moet worden gebruikt. Dit is cruciaal voor het redeneerproces van de LLM.
- Invoerschema: Het soort invoer dat het hulpmiddel verwacht (bijvoorbeeld een zoekopdracht als tekenreeks of twee getallen).
De LLM leest de beschrijvingen om te bepalen welk hulpmiddel geschikt is voor een bepaalde stap.
Veelgebruikte ingebouwde hulpmiddelen
LangChain biedt veel direct bruikbare hulpmiddelen. Hier zijn enkele populaire voorbeelden:
SerpAPIWrapper: Hiermee kan de agent zoeken op Google. Dit is nuttig voor actuele informatie of specifieke gegevens.LLMMathChain: Hiermee kan de agent wiskundige berekeningen uitvoeren. Dit is betrouwbaarder dan de LLM rechtstreeks complexe wiskunde te laten doen.
Deze hulpmiddelen zijn als plug-ins die je agent superkrachten geven!
Een eenvoudige agent instellen
Om een agent te maken heb je doorgaans het volgende nodig:
- Een LLM (bijvoorbeeld
ChatOpenAI). - Een lijst met hulpmiddelen die de agent kan gebruiken.
- Een agenttype of een prompt die bepaalt hoe de agent moet redeneren (bijvoorbeeld het ReAct-framework).
Laten we deze onderdelen voorbereiden om een agent te bouwen die kan rekenen!
Agent in actie: rekenmachine
Hier is een Python-voorbeeld van een agent die een aangepast hulpmiddel 'Calculator' gebruikt. De LLM bepaalt op basis van de vraag wanneer het hulpmiddel moet worden gebruikt.
Let op: Vervang in een echte toepassing eval() door een veilige wiskundige parser.
import os
from langchain_openai import ChatOpenAI
from langchain.agents import AgentExecutor, create_react_agent, Tool
from langchain import hub
# Ensure OPENAI_API_KEY is set in your environment variables
def get_calculator_tool():
"""A simple calculator tool."""
def calculate(expression: str) -> str:
try:
# DANGER: In real apps, use safer math parsers!
return str(eval(expression))
except Exception as e:
return f"Error: {e}"
return Tool(
name="Calculator",
func=calculate,
description="Useful for when you need to answer questions about math. Input should be a mathematical expression."
)
def main():
llm = ChatOpenAI(model="gpt-3.5-turbo", temperature=0)
tools = [get_calculator_tool()]
prompt = hub.pull("hwchase17/react") # ReAct agent prompt
agent = create_react_agent(llm, tools, prompt)
agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
print("--- Agent Running ---")
result = agent_executor.invoke({"input": "What is 123 + 456?"})
print("\n--- Agent Result ---")
print(result["output"])
if __name__ == "__main__":
main()Het denkproces van een agent volgen
Wanneer je een agent uitvoert met verbose=True, laat LangChain de interne monoloog van de agent zien:
- Gedachte: De redenering van de LLM over de huidige situatie.
- Actie: Het hulpmiddel dat de agent besluit te gebruiken en de invoer ervan.
- Observatie: Het resultaat dat door het hulpmiddel wordt teruggegeven.
Met deze trace kun je begrijpen hoe de agent tot zijn antwoord kwam en zijn gedrag opsporen.
Verschillende agenttypen
LangChain ondersteunt verschillende agenttypen, elk met een specifieke redeneerstrategie:
zero-shot-react-description: Een agent voor algemeen gebruik die het ReAct-framework gebruikt. Deze agent leunt sterk op beschrijvingen van hulpmiddelen.OpenAIFunctionsAgent: Benut de ingebouwde mogelijkheden van OpenAI om functies aan te roepen, wat vaak leidt tot robuuster en beknopter gebruik van hulpmiddelen.- Er bestaan ook andere typen voor specifieke gebruikssituaties of modellen.
Welk agenttype je kiest, hangt af van je LLM en de complexiteit van de taak.
Beperkingen en aandachtspunten van agents
Hoewel agents krachtig zijn, hebben ze beperkingen:
- Kosten en vertraging: Meerdere aanroepen van de LLM en hulpmiddelen kunnen de kosten en de reactietijd verhogen.
- Betrouwbaarheid: Agents kunnen nog steeds 'hallucineren' of hulpmiddelen verkeerd gebruiken als beschrijvingen niet nauwkeurig zijn of de LLM moeite heeft met complexe redeneringen.
- Beveiliging: Hulpmiddelen die met externe systemen werken (zoals
eval()of API's) moeten zorgvuldig worden beheerd om kwetsbaarheden te voorkomen.
Ontwerp je hulpmiddelen en prompts zorgvuldig!
Kennistoets over agentconcepten
Welke van de volgende uitspraken over LangChain Agents en hulpmiddelen zijn JUIST?
Samenvatting: de kracht van agents
Je hebt geleerd dat LangChain Agents LLM's verder laten gaan dan eenvoudige vraag-en-antwoordtaken, doordat ze:
- dynamisch kunnen redeneren via een kring van 'observeren-denken-handelen';
- hulpmiddelen kunnen gebruiken om met externe gegevens en diensten te communiceren;
- complexe taken kunnen uitvoeren waarvoor meerdere stappen en externe interacties nodig zijn.
Door deze combinatie zijn agents bijzonder veelzijdig voor het bouwen van intelligente toepassingen!
Leer LangChain / RAG / vectordatabases met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 12
- Lessen
- 48
Veelgestelde vragen
Is de les “Agents en toolconcepten in LangChain” gratis?
Ja — de volledige tekst van “Agents en toolconcepten in LangChain” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus LangChain / RAG / vectordatabases wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus LangChain / RAG / vectordatabases bevat in totaal 4 lessen.
Wat leer ik in “Agents en toolconcepten in LangChain”?
Leer hoe LangChain Agents kunnen redeneren en tools kunnen gebruiken om complexe taken uit te voeren die verder gaan dan eenvoudige vraagbeantwoording. Je oefent met LangChain / RAG / vectordatabases door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met LangChain / RAG / vectordatabases te beginnen?
Ervaring vooraf is niet nodig. LangChain / RAG / vectordatabases op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 1 van 4.
Hoe lang duurt de les “Agents en toolconcepten in LangChain”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over LangChain / RAG / vectordatabases?
Ja. Elke les over LangChain / RAG / vectordatabases bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Agents en toolconcepten in LangChain
- Multi-agent RAG-workflows bouwen
- Externe API's integreren als tools
- Geheugen en state in agentic RAG