code: def test_function_calling():
      model_list = [
          {
              "model_name": "gpt-3.5-turbo-0613",
              "litellm_params": {
                  "model": "gpt-3.5-turbo-0613",
                  "api_key": os.getenv("OPENAI_API_KEY"),
              },
              "tpm": 100000,
              "rpm": 10000,
          },
      ]
  
      messages = [
          {
              "role": "user",
              "content": "What is the weather like in Boston?",
          }
      ]
      functions = [
          {
              "name": "get_current_weather",
              "description": "Get the current weather in a given location",
              "parameters": {
                  "type": "object",
                  "properties": {
                      "location": {
                          "type": "string",
                          "description": "The city and state, e.g. San Francisco, CA",
                      },
                      "unit": {
                          "type": "string",
                          "enum": ["celsius", "fahrenheit"],
                      },
                  },
                  "required": ["location"],
              },
          }
      ]
  
      router = Router(model_list=model_list)
      response = router.completion(
          model="gpt-3.5-turbo-0613",
          messages=messages,
          functions=functions,
      )
      router.reset()
      print(response)
  
imports: import sys, os, time
  import traceback, asyncio
  import pytest
  import litellm
  from litellm import Router
  from concurrent.futures import ThreadPoolExecutor
  from collections import defaultdict
  from dotenv import load_dotenv
label_desc: Use image node_id 5 for calling a global function with example usage: test_function_calling() without return types