system: 
You are an expert in composing functions. You are given a question and a set of possible functions.
Based on the question, you will need to make one or more function/tool calls to achieve the purpose.
If none of the function can be used, point it out. If the given question lacks the parameters required by the function,
also point it out. You should only return the function call in tools call sections.

If you decide to invoke any of the function(s), you MUST put it in the format of [func_name1(params_name1=params_value1, params_name2=params_value2...), func_name2(params)]

You SHOULD NOT include any other text in the response.

Here is a list of functions in JSON format that you can invoke.

[{'name': 'get_current_weather', 'description': "Retrieves the current weather conditions for a specified location, such as 'City, State' or 'City, Country'. Note that the provided function is in Python 3 syntax.", 'parameters': {'type': 'dict', 'required': ['location'], 'properties': {'location': {'type': 'string', 'description': "The location for which the weather is being requested, in the format of 'City, State' or 'City, Country', such as 'Berkeley, CA' or 'London, UK'."}, 'unit': {'type': 'string', 'description': 'The unit system used for weather condition values (e.g., temperature, wind speed).', 'enum': ['metric', 'imperial'], 'default': 'metric'}}}}, {'name': 'start_oncall', 'description': "Initiate an on-call support session when a user explicitly requests assistance. The user's question, which should be clear and devoid of irrelevant details, can be referenced from the preceding chat interaction. Note that the provided function is in Python 3 syntax.", 'parameters': {'type': 'dict', 'required': ['question', 'oncall_type'], 'properties': {'question': {'type': 'string', 'description': 'The concise question posed by the user, with irrelevant information omitted.'}, 'oncall_type': {'type': 'string', 'description': 'The category of the on-call support request.', 'enum': ['swift', 'mbox']}}}}, {'name': 'create_workspace', 'description': 'Creates a new workspace in the mbox system, based on a specified branch of the aweme git repository. Note that the provided function is in Python 3 syntax.', 'parameters': {'type': 'dict', 'required': ['name', 'base_branch'], 'properties': {'name': {'type': 'string', 'description': 'The name of the new workspace. Must be unique within the mbox system.'}, 'base_branch': {'type': 'string', 'description': 'The name of the base branch in the aweme git repository from which the workspace will be created.'}}}}, {'name': 'generate_password', 'description': 'Generate a secure, random password based on specified criteria including length, numerical, and special character inclusion. Note that the provided function is in Python 3 syntax.', 'parameters': {'type': 'dict', 'required': ['length'], 'properties': {'length': {'type': 'integer', 'description': 'The desired number of characters in the password. Must be an integer greater than 0.'}, 'include_numbers': {'type': 'boolean', 'description': 'Whether to include numerical digits (0-9) in the password.', 'default': True}, 'include_special_characters': {'type': 'boolean', 'description': 'Whether to include special characters (e.g., !, @, #) in the password.', 'default': False}}}}]



Don't make assumptions about what values to plug into functions. Ask for clarification if a user request is ambiguous.
user: Could you tell me the current weather conditions in Shanghai, using the metric system?

Available functions:
[{"name": "get_current_weather", "description": "Retrieves the current weather conditions for a specified location, such as 'City, State' or 'City, Country'.", "parameters": {"type": "dict", "required": ["location"], "properties": {"location": {"type": "string", "description": "The location for which the weather is being requested, in the format of 'City, State' or 'City, Country', such as 'Berkeley, CA' or 'London, UK'."}, "unit": {"type": "string", "description": "The unit system used for weather condition values (e.g., temperature, wind speed).", "enum": ["metric", "imperial"], "default": "metric"}}}}, {"name": "start_oncall", "description": "Initiate an on-call support session when a user explicitly requests assistance. The user's question, which should be clear and devoid of irrelevant details, can be referenced from the preceding chat interaction.", "parameters": {"type": "dict", "required": ["question", "oncall_type"], "properties": {"question": {"type": "string", "description": "The concise question posed by the user, with irrelevant information omitted."}, "oncall_type": {"type": "string", "description": "The category of the on-call support request.", "enum": ["swift", "mbox"]}}}}, {"name": "create_workspace", "description": "Creates a new workspace in the mbox system, based on a specified branch of the aweme git repository.", "parameters": {"type": "dict", "required": ["name", "base_branch"], "properties": {"name": {"type": "string", "description": "The name of the new workspace. Must be unique within the mbox system."}, "base_branch": {"type": "string", "description": "The name of the base branch in the aweme git repository from which the workspace will be created."}}}}, {"name": "generate_password", "description": "Generate a secure, random password based on specified criteria including length, numerical, and special character inclusion.", "parameters": {"type": "dict", "required": ["length"], "properties": {"length": {"type": "integer", "description": "The desired number of characters in the password. Must be an integer greater than 0."}, "include_numbers": {"type": "boolean", "description": "Whether to include numerical digits (0-9) in the password.", "default": true}, "include_special_characters": {"type": "boolean", "description": "Whether to include special characters (e.g., !, @, #) in the password.", "default": false}}}}]

Ground-truth function call:
[{"get_current_weather": {"location": ["Shanghai, China"], "unit": ["", "metric"]}}]