code: def _get_api_config() -> _OpenAIApiConfig:
      """Gets the parameters and configuration of the OpenAI API connected to."""
      import openai
  
      api_type = os.getenv(
          _OpenAIEnvVar.OPENAI_API_TYPE.value, openai.api_type
      )
      api_version = os.getenv(
          _OpenAIEnvVar.OPENAI_API_VERSION.value, openai.api_version
      )
      api_base = os.getenv(_OpenAIEnvVar.OPENAI_API_BASE.value, None)
      engine = os.getenv(_OpenAIEnvVar.OPENAI_ENGINE.value, None)
      deployment_id = os.getenv(
          _OpenAIEnvVar.OPENAI_DEPLOYMENT_NAME.value, None
      )
      if api_type in ("azure", "azure_ad", "azuread"):
          batch_size = 16
          max_tokens_per_minute = 60_000
      else:
          # The maximum batch size is 2048:
          # https://github.com/openai/openai-python/blob/b82a3f7e4c462a8a10fa445193301a3cefef9a4a/openai/embeddings_utils.py#L43
          # We use a smaller batch size to be safe.
          batch_size = 1024
          max_tokens_per_minute = 90_000
      return _OpenAIApiConfig(
          api_type=api_type,
          batch_size=batch_size,
          max_requests_per_minute=3_500,
          max_tokens_per_minute=max_tokens_per_minute,
          api_base=api_base,
          api_version=api_version,
          engine=engine,
          deployment_id=deployment_id,
      )
  
imports: import itertools
  import logging
  import os
  import warnings
  from string import Formatter
  from typing import Any, Dict, Optional, Set
  import yaml
  import mlflow
  from mlflow import pyfunc
  from mlflow.environment_variables import _MLFLOW_TESTING, MLFLOW_OPENAI_SECRET_SCOPE
  from mlflow.exceptions import MlflowException
  from mlflow.models import Model, ModelInputExample, ModelSignature
  from mlflow.models.model import MLMODEL_FILE_NAME
  from mlflow.models.utils import _save_example
  from mlflow.protos.databricks_pb2 import INVALID_PARAMETER_VALUE
  from mlflow.tracking._model_registry import DEFAULT_AWAIT_MAX_SLEEP_SECONDS
  from mlflow.tracking.artifact_utils import _download_artifact_from_uri
  from mlflow.types import ColSpec, Schema, TensorSpec
  from mlflow.utils.annotations import experimental
  from mlflow.utils.databricks_utils import check_databricks_secret_scope_access, is_in_databricks_runtime
  from mlflow.utils.docstring_utils import LOG_MODEL_PARAM_DOCS, format_docstring
  from mlflow.utils.environment import _CONDA_ENV_FILE_NAME, _CONSTRAINTS_FILE_NAME, _PYTHON_ENV_FILE_NAME, _REQUIREMENTS_FILE_NAME, _mlflow_conda_env, _process_conda_env, _process_pip_requirements, _PythonEnv, _validate_env_arguments
  from mlflow.utils.file_utils import write_to
  from mlflow.utils.model_utils import _add_code_from_conf_to_system_path, _get_flavor_configuration, _validate_and_copy_code_paths, _validate_and_prepare_target_save_path
  from mlflow.utils.openai_utils import REQUEST_URL_CHAT, REQUEST_URL_COMPLETIONS, REQUEST_URL_EMBEDDINGS, _OAITokenHolder, _OpenAIApiConfig, _OpenAIEnvVar, _validate_model_params
  from mlflow.utils.requirements_utils import _get_pinned_requirement
label_desc: Use image node_id 7 for calling a global function with example usage: _get_api_config() and returns: _OpenAIApiConfig