code: def _validate_name(api_name: str):
      if not api_name.isidentifier():
          raise InvalidArgument(
              "Invalid API name: '{}', a valid identifier may only contain letters,"
              " numbers, underscores and not starting with a number.".format(
                  api_name
              )
          )
  
      if api_name in RESERVED_API_NAMES:
          raise InvalidArgument(
              "Reserved API name: '{}' is reserved for infra endpoints".format(
                  api_name
              )
          )
  
file_path: BentoML/grpc-client/bentoml/_internal/service/inference_api.py
imports: from __future__ import annotations
  import inspect
  import re
  import typing
  import yaml
  from ...exceptions import InvalidArgument
  from ..context import ServiceContext
  from ..io_descriptors import IODescriptor
  from ..io_descriptors.base import IOType
  from ..types import is_compatible_type
label_desc: Use image node_id 3 for calling the InferenceAPI obj's underlying member method code with example usage: obj._validate_name(api_name) without return types