code: def test_function_calling_on_router():
      try:
          litellm.set_verbose = True
          model_list = [
              {
                  "model_name": "gpt-3.5-turbo",
                  "litellm_params": {
                      "model": "gpt-3.5-turbo-0613",
                      "api_key": os.getenv("OPENAI_API_KEY"),
                  },
              },
          ]
          function1 = [
              {
                  "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,
              redis_host=os.getenv("REDIS_HOST"),
              redis_password=os.getenv("REDIS_PASSWORD"),
              redis_port=os.getenv("REDIS_PORT"),
          )
          messages = [
              {
                  "role": "user",
                  "content": "what's the weather in boston",
              }
          ]
          response = router.completion(
              model="gpt-3.5-turbo",
              messages=messages,
              functions=function1,
          )
          print(f"final returned response: {response}")
          router.reset()
          assert isinstance(
              response["choices"][0]["message"]["function_call"], dict
          )
      except Exception as e:
          print(f"An exception occurred: {e}")
  
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 6 for calling a global function with example usage: test_function_calling_on_router() without return types