code: def test_dynamic_fallbacks_sync():
      """
      Allow setting the fallback in the router.completion() call.
      """
      try:
          customHandler = MyCustomHandler()
          litellm.callbacks = [customHandler]
          model_list = [
              {  # list of model deployments
                  "model_name": "azure/gpt-3.5-turbo",  # openai model name
                  "litellm_params": {  # params for litellm completion/embedding call
                      "model": "azure/chatgpt-v-2",
                      "api_key": "bad-key",
                      "api_version": os.getenv("AZURE_API_VERSION"),
                      "api_base": os.getenv("AZURE_API_BASE"),
                  },
                  "tpm": 240000,
                  "rpm": 1800,
              },
              {  # list of model deployments
                  "model_name": "azure/gpt-3.5-turbo-context-fallback",  # openai model name
                  "litellm_params": {  # params for litellm completion/embedding call
                      "model": "azure/chatgpt-v-2",
                      "api_key": os.getenv("AZURE_API_KEY"),
                      "api_version": os.getenv("AZURE_API_VERSION"),
                      "api_base": os.getenv("AZURE_API_BASE"),
                  },
                  "tpm": 240000,
                  "rpm": 1800,
              },
              {
                  "model_name": "azure/gpt-3.5-turbo",  # openai model name
                  "litellm_params": {  # params for litellm completion/embedding call
                      "model": "azure/chatgpt-functioncalling",
                      "api_key": "bad-key",
                      "api_version": os.getenv("AZURE_API_VERSION"),
                      "api_base": os.getenv("AZURE_API_BASE"),
                  },
                  "tpm": 240000,
                  "rpm": 1800,
              },
              {
                  "model_name": "gpt-3.5-turbo",  # openai model name
                  "litellm_params": {  # params for litellm completion/embedding call
                      "model": "gpt-3.5-turbo",
                      "api_key": os.getenv("OPENAI_API_KEY"),
                  },
                  "tpm": 1000000,
                  "rpm": 9000,
              },
              {
                  "model_name": "gpt-3.5-turbo-16k",  # openai model name
                  "litellm_params": {  # params for litellm completion/embedding call
                      "model": "gpt-3.5-turbo-16k",
                      "api_key": os.getenv("OPENAI_API_KEY"),
                  },
                  "tpm": 1000000,
                  "rpm": 9000,
              },
          ]
  
          router = Router(model_list=model_list, set_verbose=True)
          kwargs = {}
          kwargs["model"] = "azure/gpt-3.5-turbo"
          kwargs["messages"] = [
              {"role": "user", "content": "Hey, how's it going?"}
          ]
          kwargs["fallbacks"] = [
              {"azure/gpt-3.5-turbo": ["gpt-3.5-turbo"]}
          ]
          response = router.completion(**kwargs)
          print(f"response: {response}")
          time.sleep(
              0.05
          )  # allow a delay as success_callbacks are on a separate thread
          assert (
              customHandler.previous_models == 1
          )  # 0 retries, 1 fallback
          router.reset()
      except Exception as e:
          pytest.fail(f"An exception occurred - {e}")
  
file_path: litellm/litellm/tests/test_router_fallbacks.py
imports: import sys, os, time
  import traceback, asyncio
  import pytest
  import litellm
  from litellm import Router
  from litellm.integrations.custom_logger import CustomLogger
label_desc: Use image node_id 2 for calling a global function with example usage: test_dynamic_fallbacks_sync() without return types