code: def get_parameters(
      required: List[str],
      param_annotations: Dict[
          str, Union[Annotated[Type[Any], str], Type[Any]]
      ],
      default_values: Dict[str, Any],
  ) -> Parameters:
      """Get the parameters of a function as defined by the OpenAI API
  
      Args:
          required: The required parameters of the function
          hints: The type hints of the function as returned by typing.get_type_hints
  
      Returns:
          A Pydantic model for the parameters of the function
      """
      return Parameters(
          properties={
              k: get_parameter_json_schema(k, v, default_values)
              for k, v in param_annotations.items()
              if v is not inspect.Signature.empty
          },
          required=required,
      )
  
imports: import functools
  import inspect
  import json
  from logging import getLogger
  from typing import Any, Callable, Dict, ForwardRef, List, Optional, Set, Tuple, Type, TypeVar, Union
  from pydantic import BaseModel, Field
  from typing_extensions import Annotated, Literal, get_args, get_origin
  from ._pydantic import JsonSchemaValue, evaluate_forwardref, model_dump, model_dump_json, type2schema
label_desc: Use image node_id 8 for calling a global function with example usage: get_parameters(required, param_annotations, default_values) and returns: Parameters