Bird
Raised Fist0
Prompt Engineering / GenAIml~20 mins

Tool usage (function calling) in Prompt Engineering / GenAI - Practice Problems & Coding Challenges

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Challenge - 5 Problems
🎖️
Function Calling Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
2:00remaining
Understanding function calling in AI tool usage

Which statement best describes the purpose of function calling in AI tools?

AIt is used to train the AI model by calling training functions repeatedly.
BIt automatically fixes bugs in the AI code without human intervention.
CIt allows the AI to request specific external actions or data by invoking predefined functions.
DIt generates random outputs without any input or function definitions.
Attempts:
2 left
💡 Hint

Think about how AI can interact with external systems or APIs.

Predict Output
intermediate
2:00remaining
Output of a function call in AI tool usage

What is the output of the following function call simulation in an AI tool?

Prompt Engineering / GenAI
def get_weather(city):
    return f"The weather in {city} is sunny."

result = get_weather('Paris')
print(result)
AThe weather in city is sunny.
BThe weather in Paris is sunny.
CThe weather in Paris is rainy.
DError: function get_weather not defined.
Attempts:
2 left
💡 Hint

Look at the function return string and the argument passed.

Model Choice
advanced
2:00remaining
Choosing the right function for AI tool usage

You want an AI tool to fetch the current stock price for a company. Which function call is most appropriate?

Afetch_stock_price(company_symbol: str) -> float
Btrain_stock_model(data: list) -> None
Cgenerate_random_number() -> int
Dsave_to_database(data: dict) -> bool
Attempts:
2 left
💡 Hint

Focus on the function that retrieves stock price information.

Hyperparameter
advanced
2:00remaining
Setting parameters for function calls in AI tools

When calling a function to generate text with an AI model, which parameter controls the randomness of the output?

Amax_depth
Bbatch_size
Clearning_rate
Dtemperature
Attempts:
2 left
💡 Hint

Think about which parameter affects creativity or randomness in generated text.

🔧 Debug
expert
2:00remaining
Debugging a function call error in AI tool usage

Given this function call in an AI tool, what error will it raise?

Prompt Engineering / GenAI
def get_user_info(user_id: int):
    return {'id': user_id, 'name': 'Alice'}

info = get_user_info('123')
print(info)
ANo error, prints {'id': '123', 'name': 'Alice'}.
BKeyError because 'name' key is missing.
CTypeError because a string was passed instead of an int.
DSyntaxError due to missing colon.
Attempts:
2 left
💡 Hint

Check the function parameter type and the argument passed.

Practice

(1/5)
1. What is the main purpose of calling a function in AI tool usage?
easy
A. To perform a specific task using given inputs
B. To create new data without inputs
C. To store data permanently
D. To display the AI model architecture

Solution

  1. Step 1: Understand function role in AI tools

    Functions are blocks of code designed to perform specific tasks when called with inputs.
  2. Step 2: Identify the purpose of calling functions

    Calling a function means using it to do a job, usually with parameters to guide the task.
  3. Final Answer:

    To perform a specific task using given inputs -> Option A
  4. Quick Check:

    Function call = perform task with inputs [OK]
Hint: Functions do tasks using inputs, not just store or show data [OK]
Common Mistakes:
  • Thinking functions create data without inputs
  • Confusing function calls with data storage
  • Assuming functions only display info
2. Which of the following is the correct way to call a function named generate_text with a parameter prompt in Python?
easy
A. generate_text = prompt
B. generate_text->prompt()
C. call generate_text(prompt)
D. generate_text(prompt)

Solution

  1. Step 1: Recall Python function call syntax

    In Python, functions are called by writing the function name followed by parentheses enclosing parameters.
  2. Step 2: Match syntax with options

    generate_text(prompt) uses the correct syntax: function name followed by parentheses with parameter inside.
  3. Final Answer:

    generate_text(prompt) -> Option D
  4. Quick Check:

    Python function call = name(params) [OK]
Hint: Use functionName(parameters) to call in Python [OK]
Common Mistakes:
  • Using assignment (=) instead of call
  • Adding extra keywords like 'call'
  • Using wrong symbols like '->'
3. Given the code:
def add_numbers(a, b):
    return a + b

result = add_numbers(3, 5)
print(result)

What will be printed?
medium
A. None
B. 8
C. TypeError
D. 35

Solution

  1. Step 1: Understand function behavior

    The function add_numbers takes two inputs and returns their sum.
  2. Step 2: Calculate the sum of inputs 3 and 5

    3 + 5 equals 8, so the function returns 8, which is stored in result.
  3. Final Answer:

    8 -> Option B
  4. Quick Check:

    3 + 5 = 8 [OK]
Hint: Add inputs inside function to get output [OK]
Common Mistakes:
  • Concatenating numbers as strings (35)
  • Expecting error due to parameters
  • Ignoring return value (None)
4. Identify the error in this function call:
def translate(text, language):
    return f"{text} in {language}"

result = translate("Hello")
print(result)
medium
A. Return statement syntax error
B. Function name is incorrect
C. Missing second argument 'language' in function call
D. Print statement is missing parentheses

Solution

  1. Step 1: Check function definition parameters

    The function translate requires two parameters: text and language.
  2. Step 2: Check function call arguments

    The call translate("Hello") provides only one argument, missing the second required parameter.
  3. Final Answer:

    Missing second argument 'language' in function call -> Option C
  4. Quick Check:

    All parameters must be given when calling [OK]
Hint: Count parameters in definition and match in call [OK]
Common Mistakes:
  • Ignoring missing arguments
  • Assuming default values without definition
  • Misreading function name or print syntax
5. You want to use a function summarize_text that takes a long text and a number max_length to limit summary size. Which call correctly uses this function to summarize article with a max length of 100?
hard
A. summary = summarize_text(article, max_length=100)
B. summary = summarize_text(max_length=100, article)
C. summary = summarize_text(article max_length=100)
D. summary = summarize_text(article, 100, max_length)

Solution

  1. Step 1: Understand function parameters and calling conventions

    The function expects two inputs: the text and the max_length number. Keyword arguments can be used to specify parameters by name.
  2. Step 2: Identify correct syntax for positional and keyword arguments

    summary = summarize_text(article, max_length=100) correctly passes article as the first argument and uses max_length=100 as a keyword argument.
  3. Final Answer:

    summary = summarize_text(article, max_length=100) -> Option A
  4. Quick Check:

    Positional first, then keyword args [OK]
Hint: Use positional args first, then named args [OK]
Common Mistakes:
  • Placing keyword argument before positional
  • Missing commas between arguments
  • Adding extra unexpected arguments