0
0
LangChainframework~20 mins

Creating tools for agents in LangChain - Practice Exercises

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
LangChain Tools Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
component_behavior
intermediate
2:00remaining
What is the output of this LangChain tool execution?
Consider this LangChain tool that adds two numbers. What will be the output when the tool is called with inputs 3 and 5?
LangChain
from langchain.tools import Tool

def add_numbers(a: int, b: int) -> int:
    return a + b

add_tool = Tool(
    name="Adder",
    func=add_numbers,
    description="Adds two numbers"
)

result = add_tool.func(3, 5)
ATypeError: func() missing 1 required positional argument
B35
C8
DNone
Attempts:
2 left
💡 Hint
Think about what the add_numbers function returns when given 3 and 5.
📝 Syntax
intermediate
2:00remaining
Which option correctly defines a LangChain tool with a synchronous function?
You want to create a LangChain tool that synchronously reverses a string. Which code snippet correctly defines this tool?
Areverse_tool = Tool(name="Reverser", func=lambda s: s[::-1], description="Reverses a string")
Breverse_tool = Tool(name="Reverser", async def func(s): return s[::-1], description="Reverses a string")
Creverse_tool = Tool(name="Reverser", func=async lambda s: s[::-1], description="Reverses a string")
Dreverse_tool = Tool(name="Reverser", func=lambda s: s.reverse(), description="Reverses a string")
Attempts:
2 left
💡 Hint
Remember that synchronous functions do not use async keywords.
🔧 Debug
advanced
2:00remaining
What error does this LangChain tool code raise?
This tool is intended to fetch current weather but has a bug. What error will it raise when called?
LangChain
from langchain.tools import Tool
import requests

def get_weather(city: str) -> str:
    response = requests.get(f"https://api.weather.com/{city}")
    return response.json()['temp']

weather_tool = Tool(name="Weather", func=get_weather, description="Gets weather")

result = weather_tool.func('London')
ANo error, returns temperature as string
BTypeError: func() missing 1 required positional argument
Crequests.exceptions.ConnectionError
DKeyError: 'temp'
Attempts:
2 left
💡 Hint
Check what keys the JSON response might have and if 'temp' exists.
state_output
advanced
2:00remaining
What is the value of 'counter' after running this LangChain tool multiple times?
This tool increments a counter each time it is called. What is the value of 'counter' after calling tool.func() three times?
LangChain
from langchain.tools import Tool

counter = 0

def increment_counter() -> int:
    global counter
    counter += 1
    return counter

increment_tool = Tool(name="Incrementer", func=increment_counter, description="Increments counter")

increment_tool.func()
increment_tool.func()
increment_tool.func()
A1
B3
C0
DTypeError: global variable not defined
Attempts:
2 left
💡 Hint
Think about how the global variable 'counter' changes with each call.
🧠 Conceptual
expert
2:00remaining
Which option best describes the role of a Tool in LangChain agents?
In LangChain, what is the primary purpose of creating a Tool for an agent?
ATo provide a reusable function with a description that an agent can call to perform specific tasks during its reasoning process
BTo store large datasets that the agent uses internally for training
CTo handle user interface rendering for the agent
DTo replace the language model with a faster alternative
Attempts:
2 left
💡 Hint
Think about how agents use tools to extend their capabilities.