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',
);
}
}