WordPress\AiClient\Builders

PromptBuilder::inferCapabilityFromOutputModalities │ private │ WP 0.1.0

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() 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));
    }
}