code: def __post_init__(self):
      if self.vocab is None:
          raise ConfigValidationError(
              "`vocab` must be specified for `category_llm` output feature."
          )
      if self.fallback_label is None:
          raise ConfigValidationError(
              "`fallback_label` must be specified for `category_llm` output feature."
          )
  
file_path: ludwig/ludwig/schema/features/preprocessing/category.py
imports: from typing import List
  from ludwig.api_annotations import DeveloperAPI
  from ludwig.constants import CATEGORY, DROP_ROW, FILL_WITH_CONST, MISSING_VALUE_STRATEGY_OPTIONS, PREPROCESSING
  from ludwig.error import ConfigValidationError
  from ludwig.schema import utils
  from ludwig.schema.features.preprocessing.base import BasePreprocessingConfig
  from ludwig.schema.features.preprocessing.utils import register_preprocessor
  from ludwig.schema.metadata import FEATURE_METADATA, PREPROCESSING_METADATA
  from ludwig.schema.utils import ludwig_dataclass
  from ludwig.utils import strings_utils
label_desc: Use image node_id 1 for calling the LLMCategoryOutputPreprocessingConfig obj's underlying member method code with example usage: obj.__post_init__() without return types