code: def test_gemini_pro_vision():
      try:
          load_vertex_ai_credentials()
          litellm.set_verbose = True
          litellm.num_retries = 0
          resp = litellm.completion(
              model="vertex_ai/gemini-pro-vision",
              messages=[
                  {
                      "role": "user",
                      "content": [
                          {
                              "type": "text",
                              "text": "Whats in this image?",
                          },
                          {
                              "type": "image_url",
                              "image_url": {
                                  "url": "gs://cloud-samples-data/generative-ai/image/boats.jpeg"
                              },
                          },
                      ],
                  }
              ],
          )
          print(resp)
  
          prompt_tokens = resp.usage.prompt_tokens
  
          # DO Not DELETE this ASSERT
          # Google counts the prompt tokens for us, we should ensure we use the tokens from the orignal response
          assert (
              prompt_tokens == 263
          )  # the gemini api returns 263 to us
  
      except Exception as e:
          import traceback
  
          traceback.print_exc()
          raise e
  
file_path: litellm/litellm/tests/test_amazing_vertex_completion.py
imports: import sys, os
  import traceback
  from dotenv import load_dotenv
  import os, io
  import pytest, asyncio
  import litellm
  from litellm import embedding, completion, completion_cost, Timeout, acompletion
  from litellm import RateLimitError
  import json
  import os
  import tempfile
label_desc: Use image node_id 4 for calling a global function with example usage: test_gemini_pro_vision() without return types