Designing Agentic Systems with LangChain
Dilini K. Sumanapala, PhD
Founder & AI Engineer, Genverv, Ltd.
LangChain's internal query handling
"What is the area of a rectangle with sides 5 and 7?"
input = " 5, 7"
Define your tool function
@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
@tool
decorator.split()
.strip()
and convert to floata
and b
and return the answer# 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)
# 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.
Designing Agentic Systems with LangChain