validate method

void validate()

Implementation

void validate() {
  final effectiveMaxOutputTokens = hasMaxOutputTokens() ? maxOutputTokens : 512;
  if (effectiveMaxOutputTokens < 0) {
    throw SDKException.validationFailed(
      'max_output_tokens must be >= 0 (got $effectiveMaxOutputTokens)',
      fieldPath: 'LLMGenerationOptions.max_output_tokens',
    );
  }
  final effectiveTemperature = hasTemperature() ? temperature : 0.7;
  if (!effectiveTemperature.isFinite || effectiveTemperature < 0.0 || effectiveTemperature > 2.0) {
    throw SDKException.validationFailed(
      'temperature must be in 0.0...2.0 (got $effectiveTemperature)',
      fieldPath: 'LLMGenerationOptions.temperature',
    );
  }
  final effectiveTopP = hasTopP() ? topP : 1.0;
  if (!effectiveTopP.isFinite || effectiveTopP < 0.0 || effectiveTopP > 1.0) {
    throw SDKException.validationFailed(
      'top_p must be in 0.0...1.0 (got $effectiveTopP)',
      fieldPath: 'LLMGenerationOptions.top_p',
    );
  }
  final effectiveTopK = hasTopK() ? topK : 40;
  if (effectiveTopK < 0) {
    throw SDKException.validationFailed(
      'top_k must be >= 0 (got $effectiveTopK)',
      fieldPath: 'LLMGenerationOptions.top_k',
    );
  }
  final effectiveRepeatPenalty = hasRepeatPenalty() ? repeatPenalty : 1.1;
  if (!effectiveRepeatPenalty.isFinite || effectiveRepeatPenalty < 0.0) {
    throw SDKException.validationFailed(
      'repeat_penalty must be >= 0.0 (got $effectiveRepeatPenalty)',
      fieldPath: 'LLMGenerationOptions.repeat_penalty',
    );
  }
}