Fix Google Gemini model integration with correct provider format and API key handling

This commit is contained in:
Steve White 2025-02-28 11:57:12 -06:00
parent 6ff455358c
commit 82f081f731
3 changed files with 12 additions and 6 deletions

View File

@ -74,9 +74,9 @@ class Config:
if provider.lower() == 'openrouter':
env_var_name = "OPENROUTER_API_KEY"
# Special case for Google which might use GOOGLE_API_KEY
# Special case for Google which might use GEMINI_API_KEY
if provider.lower() == 'google':
env_var_name = "GOOGLE_API_KEY"
env_var_name = "GEMINI_API_KEY"
api_key = os.environ.get(env_var_name)

View File

@ -46,7 +46,10 @@ class LLMInterface:
api_key = self.config.get_api_key(provider)
# Set environment variable for the provider
os.environ[f"{provider.upper()}_API_KEY"] = api_key
if provider.lower() == 'google':
os.environ["GEMINI_API_KEY"] = api_key
else:
os.environ[f"{provider.upper()}_API_KEY"] = api_key
print(f"LLM interface initialized with model: {self.model_name} (provider: {provider})")
except ValueError as e:
@ -101,7 +104,7 @@ class LLMInterface:
}
elif provider == 'google':
# Special handling for Google Gemini models
params['model'] = f"google/{self.model_config.get('model_name', self.model_name)}"
params['model'] = f"gemini/{self.model_config.get('model_name', self.model_name)}"
# Google Gemini uses a different API base
params['api_base'] = self.model_config.get('endpoint', 'https://generativelanguage.googleapis.com/v1')
else:

View File

@ -60,7 +60,10 @@ class ReportSynthesizer:
api_key = self.config.get_api_key(provider)
# Set environment variable for the provider
os.environ[f"{provider.upper()}_API_KEY"] = api_key
if provider.lower() == 'google':
os.environ["GEMINI_API_KEY"] = api_key
else:
os.environ[f"{provider.upper()}_API_KEY"] = api_key
logger.info(f"Report synthesizer initialized with model: {self.model_name} (provider: {provider})")
except ValueError as e:
@ -97,7 +100,7 @@ class ReportSynthesizer:
}
elif provider == 'google':
# Special handling for Google Gemini models
params['model'] = f"google/{self.model_config.get('model_name', self.model_name)}"
params['model'] = f"gemini/{self.model_config.get('model_name', self.model_name)}"
# Google Gemini uses a different API base
params['api_base'] = self.model_config.get('endpoint', 'https://generativelanguage.googleapis.com/v1')
else: