PromptBuilder::generateResult( WordPressAiClientProvidersModelsEnumsCapabilityEnum|null $capability = null ): WordPressAiClientResultsDTOGenerativeAiResult

Generates a result from the prompt.

Description

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

Parameters

$capabilityWordPressAiClientProvidersModelsEnumsCapabilityEnum|nulloptional
Optional capability to use for generation.
If null, capability is inferred from output modality.

Default:null

Return

WordPressAiClientResultsDTOGenerativeAiResult The generated result containing candidates.

Source

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

Changelog

VersionDescription
0.1.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.