Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion Classes/Domain/Repository/Llm/GeminiRepository.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,14 @@ class GeminiRepository extends AbstractRepository implements RepositoryInterface
{
private string $apiKey = '';
private string $apiUrl = 'https://generativelanguage.googleapis.com/v1beta/models/';
private string $model = 'gemini-2.0-flash-exp:generateContent';
private string $model = '';

public function __construct(
protected RequestFactory $requestFactory,
) {
parent::__construct($requestFactory);
$this->apiKey = getenv('GOOGLE_API_KEY') ?: ConfigurationUtility::getConfigurationByKey('apiKey') ?: '';
$this->model = ConfigurationUtility::getModel();
}

public function checkApiKey(): void
Expand Down
7 changes: 7 additions & 0 deletions Classes/Utility/ConfigurationUtility.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@

class ConfigurationUtility
{
private const DEFAULT_GEMINI_MODEL = 'gemini-2.5-flash-lite:generateContent';

public static function getConfigurationByKey(string $key): string
{
$configuration = GeneralUtility::makeInstance(ExtensionConfiguration::class)->get('sitescore');
Expand All @@ -19,4 +21,9 @@ public static function getApiKey(): string
{
return getenv('GOOGLE_API_KEY') ?: self::getConfigurationByKey('apiKey') ?: '';
}

public static function getModel(): string
{
return getenv('GOOGLE_GEMINI_MODEL') ?: self::getConfigurationByKey('geminiModel') ?: self::DEFAULT_GEMINI_MODEL;
}
}
3 changes: 3 additions & 0 deletions ext_conf_template.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,5 @@
# cat=advanced//100; type=text; label= Gemini API key: Better use env GOOGLE_API_KEY instead
apiKey =

# cat=advanced//110; type=text; label= Gemini model: Better use env GOOGLE_GEMINI_MODEL instead
geminiModel =