code: def custom_callback(
      kwargs,  # kwargs to completion
      completion_response,  # response from completion
      start_time,
      end_time,  # start/end time
  ):
      # Your custom code here
      try:
          print("LITELLM: in custom callback function")
          print("\nkwargs\n", kwargs)
          model = kwargs["model"]
          messages = kwargs["messages"]
          user = kwargs.get("user")
  
          #################################################
  
          print(
              f"""
                  Model: {model},
                  Messages: {messages},
                  User: {user},
                  Seed: {kwargs["seed"]},
                  temperature: {kwargs["temperature"]},
              """
          )
  
          assert kwargs["user"] == "ishaans app"
          assert kwargs["model"] == "gpt-3.5-turbo-1106"
          assert kwargs["seed"] == 12
          assert kwargs["temperature"] == 0.5
      except Exception as e:
          pytest.fail(f"Error occurred: {e}")
  
imports: import sys, os
  import traceback
  from dotenv import load_dotenv
  import os, io
  import pytest
  import litellm
  from litellm import embedding, completion, completion_cost, Timeout
  from litellm import RateLimitError
  import openai
label_desc: Use image node_id 17 for calling a global function with example usage: custom_callback(kwargs, completion_response, start_time, end_time) without return types