WordPress\AiClient\Builders

PromptBuilder::generateMapFromCandidatesprivateWP 0.2.0

Generates a candidate map from model metadata with both provider-specific and model-only keys.

Method of the class: PromptBuilder{}

No Hooks.

Returns

Array. array{0:string,1:string}> Map of preference keys to [providerId, modelId] tuples.

Usage

// private - for code of main (parent) class only
$result = $this->generateMapFromCandidates( $providerId, $modelsMetadata ): array;
$providerId(string) (required)
The provider ID.
$modelsMetadata(list) (required)
The models metadata to map.

Changelog

Since 0.2.0 Introduced.

PromptBuilder::generateMapFromCandidates() code WP 7.0

private function generateMapFromCandidates(string $providerId, array $modelsMetadata): array
{
    $map = [];
    foreach ($modelsMetadata as $modelMetadata) {
        $modelId = $modelMetadata->getId();
        // Add provider-specific key
        $providerModelKey = $this->createProviderModelPreferenceKey($providerId, $modelId);
        $map[$providerModelKey] = [$providerId, $modelId];
        // Add model-only key
        $modelKey = $this->createModelPreferenceKey($modelId);
        $map[$modelKey] = [$providerId, $modelId];
    }
    return $map;
}