ProviderRegistry::findModelsMetadataForSupport( WordPressAiClientProvidersModelsDTOModelRequirements $modelRequirements ): WordPressAiClientProviderslist<ProviderModelsMetadata>

In this article

Finds models across all available providers that support the given requirements.

Parameters

$modelRequirementsWordPressAiClientProvidersModelsDTOModelRequirementsrequired
The requirements to match against.

Return

WordPressAiClientProviderslist<ProviderModelsMetadata> List of provider models metadata that match requirements.

Source

public function findModelsMetadataForSupport(ModelRequirements $modelRequirements): array
{
    $results = [];
    foreach ($this->registeredIdsToClassNames as $providerId => $className) {
        $providerResults = $this->findProviderModelsMetadataForSupport($providerId, $modelRequirements);
        if (!empty($providerResults)) {
            // Use static method from ProviderInterface
            /** @var class-string<ProviderInterface> $className */
            $providerMetadata = $className::metadata();
            $results[] = new ProviderModelsMetadata($providerMetadata, $providerResults);
        }
    }
    return $results;
}

Changelog

VersionDescription
0.1.0Introduced.

User Contributed Notes

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