code: def test_embedding_caching():
      import time
  
      # litellm.set_verbose = True
  
      litellm.cache = Cache()
      text_to_embed = [embedding_large_text]
      start_time = time.time()
      embedding1 = embedding(
          model="text-embedding-ada-002",
          input=text_to_embed,
          caching=True,
      )
      end_time = time.time()
      print(
          f"Embedding 1 response time: {end_time - start_time} seconds"
      )
  
      time.sleep(1)
      start_time = time.time()
      embedding2 = embedding(
          model="text-embedding-ada-002",
          input=text_to_embed,
          caching=True,
      )
      end_time = time.time()
      # print(f"embedding2: {embedding2}")
      print(
          f"Embedding 2 response time: {end_time - start_time} seconds"
      )
  
      litellm.cache = None
      litellm.success_callback = []
      litellm._async_success_callback = []
      assert (
          end_time - start_time <= 0.1
      )  # ensure 2nd response comes in in under 0.1 s
      if (
          embedding2["data"][0]["embedding"]
          != embedding1["data"][0]["embedding"]
      ):
          print(f"embedding1: {embedding1}")
          print(f"embedding2: {embedding2}")
          pytest.fail("Error occurred: Embedding caching failed")
  
imports: import sys, os, uuid
  import time
  import traceback
  from dotenv import load_dotenv
  import os
  import pytest
  import litellm
  from litellm import embedding, completion
  from litellm.caching import Cache
  import random
  import hashlib
  import random
  import string
label_desc: Use image node_id 6 for calling a global function with example usage: test_embedding_caching() without return types