Add Groq API as an AI provider

This commit is contained in:
Wojtek
2026-10-16 22:00:28 +02:00
parent 032ffeb9da
commit 8045698072
13 changed files with 99 additions and 33 deletions
@@ -36,14 +36,14 @@ class AiController extends BaseController
$input = Factory::getApplication()->getInput();
$provider = strtolower($input->post->getCmd('ai_provider', ''));
if (!in_array($provider, ['openai', 'grok'], true)) {
if (!in_array($provider, ['openai', 'grok', 'groq'], true)) {
throw new \RuntimeException(Text::_('COM_TESTQUESTIONS_AI_PROVIDER_INVALID'));
}
$models = AiService::availableModels();
$selectedModels = [];
foreach (['openai', 'grok'] as $modelProvider) {
$model = $input->post->getCmd('ai_' . $modelProvider . '_model', '');
foreach (['openai', 'grok', 'groq'] as $modelProvider) {
$model = trim($input->post->getString('ai_' . $modelProvider . '_model', ''));
if (!isset($models[$modelProvider][$model])) {
throw new \RuntimeException(Text::_('COM_TESTQUESTIONS_AI_MODEL_INVALID'));
}
@@ -71,7 +71,7 @@ class AiController extends BaseController
$settings['ai_' . $modelProvider . '_model'] = $model;
}
foreach (['openai', 'grok'] as $keyProvider) {
foreach (['openai', 'grok', 'groq'] as $keyProvider) {
$fieldName = 'ai_' . $keyProvider . '_api_key';
$apiKey = trim((string) $input->post->get($fieldName, '', 'RAW'));
if ($apiKey !== '') {