Meerdere tools definiëren

Agentic Systems ontwerpen met LangChain

Dilini K. Sumanapala, PhD

Founder & AI Engineer, Genverv, Ltd.

Meerdere tools integreren

Een bot met meerdere tools

   

  • Voeg meerdere custom tools toe

  • Automatiseer toolkeuze per vraag

Agentic Systems ontwerpen met LangChain

Een educatieve chatbot uitbreiden

Mensen die lezen, zittend op grote boeken.

 

  • Zoek historische gebeurtenissen op

  • Check palindromen:

     
    • level = level

    • top spot = tops pot

Agentic Systems ontwerpen met LangChain

Meerdere manieren om tools te bouwen

 

  • Roep de LLM aan

    Zoek historische datums op met natuurlijke taal, bijv. "5th of November"
      Agent: The 5th of November is famous for the Gunpowder treason and 
      plot...
    
  • Python-code

    Vind palindromen door strings direct te vergelijken, bijv. string == string[::-1]
      Agent: Yes, "madam" is a palindrome...
    
Agentic Systems ontwerpen met LangChain

Historische-gebeurtenissen-tool

# Gebruik een decorator om de tool te labelen en het inputformaat op string te zetten
@tool

def date_checker(date: str) -> str:
"""Geef een lijst met belangrijke historische gebeurtenissen voor een datum in elk formaat."""
try: # Roep de LLM aan om de datum te interpreteren en gebeurtenissen te genereren answer = llm.invoke(f"List important historical events that occurred on {date}.")
# Geef het antwoord terug return answer.content
# Stel een exceptieblok in voor ophaalfouten except Exception as e: return f"Error retrieving events: {str(e)}"
Agentic Systems ontwerpen met LangChain

Palindroom-tool

@tool

# Stel inputformaat in op string def check_palindrome(text: str):
"""Controleer of een woord of zin een palindroom is."""
# Verwijder niet-alfanumerieke tekens en zet om naar lowercase cleaned = ''.join(char.lower() for char in text if char.isalnum())
# Check of de omgekeerde tekst gelijk is aan het origineel if cleaned == cleaned[::-1]: return f"De zin of het woord '{text}' is een palindroom." else: return f"De zin of het woord '{text}' is geen palindroom."
Agentic Systems ontwerpen met LangChain

Meerdere tools koppelen

# Modules importeren voor ToolNode-definitie
from langgraph.prebuilt import ToolNode


# Lijst met tools tools = [wikipedia_tool, date_checker, check_palindrome]
# Geef de tools door aan ToolNode() tool_node = ToolNode(tools)
# Koppel tools aan de LLM model_with_tools = llm.bind_tools(tools)
Agentic Systems ontwerpen met LangChain

Laten we oefenen!

Agentic Systems ontwerpen met LangChain

Preparing Video For Download...