class_docstr: Dynamic RoPE-scaling (rotary position embeddings) to extend the context length of LLM like LLaMA, GPT-NeoX,
  or Falcon.
  
  This parameter is a dictionary containing the scaling configuration
  for the RoPE embeddings. Currently supports three scaling strategies: linear and dynamic. Their
  scaling factor must be an float greater than 1. The expected format is {'type': strategy name,
  'factor': scaling factor}
class_docstr_tok: ["Dynamic","RoPE-scaling","(","rotary","position","embeddings",")","to","extend","the","context","length","of","LLM","like","LLaMA",",","GPT-NeoX",",","or","Falcon",".","This","parameter","is","a","dictionary","containing","the","scaling","configuration","for","the","RoPE","embeddings",".","Currently","supports","three","scaling","strategies",":","linear","and","dynamic",".","Their","scaling","factor","must","be","an","float","greater","than","1",".","The","expected","format","is","{","'type","'",":","strategy","name",",","'factor","'",":","scaling","factor","}"]
code: def __post_init__(self):
      # Both parameters must be set, or none.
      if not self.type:
          raise ConfigValidationError(
              f"`rope_scaling`'s `type` field must be one of ['linear', 'dynamic'], got {self.type}"
          )
  
      if not self.factor:
          raise ConfigValidationError(
              f"When using `rope_scaling`, `factor` must be specified and be > 1. Got {self.factor}."
          )
  
file_path: ludwig/ludwig/schema/llms/model_parameters.py
imports: from typing import Optional
  from ludwig.api_annotations import DeveloperAPI
  from ludwig.error import ConfigValidationError
  from ludwig.schema import utils
  from ludwig.schema.utils import ludwig_dataclass
label_desc: Use image node_id 1 for calling the RoPEScalingConfig obj's underlying member method code with example usage: obj.__post_init__() without return types