WordPress\AiClient\Builders

PromptBuilder::generateResultpublicWP 0.1.0

Generates a result from the prompt.

This is the primary execution method that generates a result (containing potentially multiple candidates) based on the specified capability or the configured output modality.

Method of the class: PromptBuilder{}

No Hooks.

Returns

GenerativeAiResult. The generated result containing candidates.

Usage

$PromptBuilder = new PromptBuilder();
$PromptBuilder->generateResult( ?CapabilityEnum $capability ): GenerativeAiResult;
?CapabilityEnum $capability
.
Default: null

Changelog

Since 0.1.0 Introduced.

PromptBuilder::generateResult() code WP 7.0

public function generateResult(?CapabilityEnum $capability = null): GenerativeAiResult
{
    $this->validateMessages();
    // If capability is not provided, infer it
    if ($capability === null) {
        // First try to infer from a specific model if one is set
        if ($this->model !== null) {
            $inferredCapability = $this->inferCapabilityFromModelInterfaces($this->model);
            if ($inferredCapability !== null) {
                $capability = $inferredCapability;
            }
        }
        // If still no capability, infer from output modalities
        if ($capability === null) {
            $capability = $this->inferCapabilityFromOutputModalities();
        }
    }
    $model = $this->getConfiguredModel($capability);
    // Dispatch BeforeGenerateResultEvent
    $this->dispatchEvent(new BeforeGenerateResultEvent($this->messages, $model, $capability));
    // Route to the appropriate generation method based on capability
    $result = $this->executeModelGeneration($model, $capability, $this->messages);
    // Dispatch AfterGenerateResultEvent
    $this->dispatchEvent(new AfterGenerateResultEvent($this->messages, $model, $capability, $result));
    return $result;
}