Aangepaste tools bouwen

Agentic Systems ontwerpen met LangChain

Dilini K. Sumanapala, PhD

Founder & AI Engineer, Genverv, Ltd.

Oppervlakte berekenen

Rechthoekige plattegrond van een studio-appartement

Agentic Systems ontwerpen met LangChain

Oppervlakte berekenen

Rechthoekige plattegrond van een studio met lengte en breedte gelabeld als "zijde a" en "zijde b".

Agentic Systems ontwerpen met LangChain

Een rekentool maken

Interne query-afhandeling van LangChain

"What is the area of a rectangle with 
sides 5 and 7?"

input = " 5, 7"

     

  • Invoer in natuurlijke taal

         
  • Numerieke waarden als strings extraheren

Agentic Systems ontwerpen met LangChain

Een rekentool maken

Definieer je toolfunctie

@tool

def rectangle_area(input: str) -> float:
"""Calculates the area of a rectangle given the lengths of sides a and b."""
sides = input.split(',')
a = float(sides[0].strip()) b = float(sides[1].strip())
return a * b

 

  • Gebruik de decorator @tool
  • Geef de functie een naam
  • Voeg een docstring toe
  • Split de input met .split()
  • Verwijder spaties met .strip() en converteer naar float
  • Vermenigvuldig a en b en retourneer het antwoord
Agentic Systems ontwerpen met LangChain

Tools en query instellen

# Define the tools that the agent can access
tools = [rectangle_area]

# Create a query using natural language query = "What is the area of a rectangle with sides 5 and 7?"
# Pass in the hypotenuse length tool and invoke the agent app = create_react_agent(model, tools)
Agentic Systems ontwerpen met LangChain

Tools en query instellen

# Invoke the agent and print the response
response = app.invoke({"messages": [("human", query)]})
print(response['messages'][-1].content)
The area of the rectangle with sides 5 and 7 is 35 square units.
Agentic Systems ontwerpen met LangChain

Kant-en-klare en aangepaste tools

    Pictogram van tools

 

Agentic Systems ontwerpen met LangChain

Laten we oefenen!

Agentic Systems ontwerpen met LangChain

Preparing Video For Download...