add8ad3235
Change-Id: I903a7aa485b2e4051487b68ff1484f6729f70720
ADK Agent Function Tools Sample
Overview
This sample demonstrates how to create an agent equipped with built-in Python function tools using the ADK framework.
It defines an Agent wrapped around two utility functions: generate_random_number and is_even. The LLM can automatically invoke these underlying Python functions based on user prompts. This sample shows how simple it is to turn raw python methods into actionable capabilities for your agents.
Sample Prompts
Give me a random number.Give me a random number up to 50, and tell me if it's even.Is 44 even?
Graph
Agent (name="function_tools")
├── Tool (name="generate_random_number")
└── Tool (name="is_even")
How To
-
Define standard Python functions with type hints and precise docstrings:
import random def generate_random_number(max_value: int = 100) -> int: """Generates a random integer between 0 and max_value (inclusive). ...""" return random.randint(0, max_value) def is_even(number: int) -> bool: """Checks if a given number is even. ...""" return number % 2 == 0 -
Register the functions directly to the agent's
toolslist during instantiation:from google.adk.agents import Agent root_agent = Agent( name="function_tools", tools=[generate_random_number, is_even], )