The LLM will decide which functions to call and with what values.
You perform the actual function execution.
If their announcement had included the schema of the return value of `response['message']['tool_calls']` it might've been more transparent to me.