code: def streaming(
      self,
      logging_obj,
      api_base: str,
      api_key: str,
      api_version: str,
      data: dict,
      model: str,
      timeout: Any,
      azure_ad_token: Optional[str] = None,
      client=None,
  ):
      max_retries = data.pop("max_retries", 2)
      if not isinstance(max_retries, int):
          raise AzureOpenAIError(
              status_code=422, message="max retries must be an int"
          )
      # init AzureOpenAI Client
      azure_client_params = {
          "api_version": api_version,
          "azure_endpoint": api_base,
          "azure_deployment": model,
          "http_client": litellm.client_session,
          "max_retries": max_retries,
          "timeout": timeout,
      }
      if api_key is not None:
          azure_client_params["api_key"] = api_key
      elif azure_ad_token is not None:
          azure_client_params["azure_ad_token"] = azure_ad_token
      if client is None:
          azure_client = AzureOpenAI(**azure_client_params)
      else:
          azure_client = client
      ## LOGGING
      logging_obj.pre_call(
          input=data["messages"],
          api_key=azure_client.api_key,
          additional_args={
              "headers": {
                  "Authorization": f"Bearer {azure_client.api_key}"
              },
              "api_base": azure_client._base_url._uri_reference,
              "acompletion": True,
              "complete_input_dict": data,
          },
      )
      response = azure_client.chat.completions.create(
          **data, timeout=timeout
      )
      streamwrapper = CustomStreamWrapper(
          completion_stream=response,
          model=model,
          custom_llm_provider="azure",
          logging_obj=logging_obj,
      )
      return streamwrapper
  
imports: from typing import Optional, Union, Any
  import types, requests
  from .base import BaseLLM
  from litellm.utils import ModelResponse, Choices, Message, CustomStreamWrapper, convert_to_model_response_object
  from typing import Callable, Optional
  from litellm import OpenAIConfig
  import litellm, json
  import httpx
  from .custom_httpx.azure_dall_e_2 import CustomHTTPTransport, AsyncCustomHTTPTransport
  from openai import AzureOpenAI, AsyncAzureOpenAI
label_desc: Use image node_id 4 for calling the AzureChatCompletion obj's underlying member method code with example usage: obj.streaming(logging_obj, api_base, api_key, api_version, data, model, timeout, azure_ad_token, client) and returns: streamwrapper