From 86c85335a0956ac848db5af91e09aeaaa60dd4dd Mon Sep 17 00:00:00 2001 From: David Woloszyn Date: Thu, 10 Oct 2024 12:59:17 +1100 Subject: [PATCH] [docs] AI providers: Add minimal configuration (MDL-83381) --- docs/apis/plugintypes/ai/provider.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/docs/apis/plugintypes/ai/provider.md b/docs/apis/plugintypes/ai/provider.md index 1af3f249c..bb69610a2 100644 --- a/docs/apis/plugintypes/ai/provider.md +++ b/docs/apis/plugintypes/ai/provider.md @@ -226,3 +226,19 @@ For example, the `aiprovider_openai` plugin provides settings for the user and g )); $settings->hide_if('aiprovider_openai/userratelimit', 'aiprovider_openai/enableuserratelimit', 'eq', 0); ``` + +## Minimal configuration + +Each provider will need to specify what it takes to achieve minimal configuration. The parent method `is_provider_configured()` will +return `false` by default and will need to be overwritten by the child class. + +The `is_provider_configured()` must return `true` for UI component visibility and functionality. + +For example, the `aiprovider_azureai` provider checks values are set for `$this->apikey` and `$this->apiendpoint` and returns +the result. + +```php + public function is_provider_configured(): bool { + return !empty($this->apikey) && !empty($this->apiendpoint); + } +```