WordPress\AiClient\Builders
PromptBuilder::inferCapabilityFromOutputModalities
Infers the capability from configured output modalities.
Method of the class: PromptBuilder{}
No Hooks.
Returns
CapabilityEnum. The inferred capability.
Usage
// private - for code of main (parent) class only $result = $this->inferCapabilityFromOutputModalities(): CapabilityEnum;
Changelog
| Since 0.1.0 | Introduced. |
PromptBuilder::inferCapabilityFromOutputModalities() PromptBuilder::inferCapabilityFromOutputModalities code WP 7.1.2
private function inferCapabilityFromOutputModalities(): CapabilityEnum
{
// Get the configured output modalities
$outputModalities = $this->modelConfig->getOutputModalities();
// Default to text if no output modality is specified
if ($outputModalities === null || empty($outputModalities)) {
return CapabilityEnum::textGeneration();
}
// Multi-modal output (multiple modalities) defaults to text generation. This is temporary
// as a multi-modal interface will be implemented in the future.
if (count($outputModalities) > 1) {
return CapabilityEnum::textGeneration();
}
// Infer capability from single output modality
$outputModality = $outputModalities[0];
if ($outputModality->isText()) {
return CapabilityEnum::textGeneration();
} elseif ($outputModality->isImage()) {
return CapabilityEnum::imageGeneration();
} elseif ($outputModality->isAudio()) {
return CapabilityEnum::speechGeneration();
} elseif ($outputModality->isVideo()) {
return CapabilityEnum::videoGeneration();
} else {
// For unsupported modalities, provide a clear error message
throw new RuntimeException(sprintf('Output modality "%s" is not yet supported.', $outputModality->value));
}
}