WordPress\AiClient\Builders

PromptBuilder::includeOutputModalities │ private │ WP 0.1.0

Includes output modalities if not already present.

Adds the given modalities to the output modalities list if they're not already included. If output modalities is null, initializes it with the given modalities.

Метод класса: PromptBuilder{}

Хуков нет.

Возвращает

void. Ничего (null).

Использование

// private - только в коде основоного (родительского) класса
$result = $this->includeOutputModalities( ModalityEnum ...$modalities ): void;
ModalityEnum ...$modalities(обязательный)
.

Список изменений

С версии 0.1.0 Введена.

Код PromptBuilder::includeOutputModalities() WP 7.1.2

private function includeOutputModalities(ModalityEnum ...$modalities): void
{
    $existing = $this->modelConfig->getOutputModalities();
    // Initialize if null
    if ($existing === null) {
        $this->modelConfig->setOutputModalities($modalities);
        return;
    }
    // Build a set of existing modality values for O(1) lookup
    $existingValues = [];
    foreach ($existing as $existingModality) {
        $existingValues[$existingModality->value] = \true;
    }
    // Add new modalities that don't exist
    $toAdd = [];
    foreach ($modalities as $modality) {
        if (!isset($existingValues[$modality->value])) {
            $toAdd[] = $modality;
        }
    }
    // Update if we have new modalities to add
    if (!empty($toAdd)) {
        $this->modelConfig->setOutputModalities(array_merge($existing, $toAdd));
    }
}