Fix Google Gemini model integration with correct provider format and API key handling
This commit is contained in:
parent
6ff455358c
commit
82f081f731
|
@ -74,9 +74,9 @@ class Config:
|
||||||
if provider.lower() == 'openrouter':
|
if provider.lower() == 'openrouter':
|
||||||
env_var_name = "OPENROUTER_API_KEY"
|
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':
|
if provider.lower() == 'google':
|
||||||
env_var_name = "GOOGLE_API_KEY"
|
env_var_name = "GEMINI_API_KEY"
|
||||||
|
|
||||||
api_key = os.environ.get(env_var_name)
|
api_key = os.environ.get(env_var_name)
|
||||||
|
|
||||||
|
|
|
@ -46,7 +46,10 @@ class LLMInterface:
|
||||||
api_key = self.config.get_api_key(provider)
|
api_key = self.config.get_api_key(provider)
|
||||||
|
|
||||||
# Set environment variable for the 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})")
|
print(f"LLM interface initialized with model: {self.model_name} (provider: {provider})")
|
||||||
except ValueError as e:
|
except ValueError as e:
|
||||||
|
@ -101,7 +104,7 @@ class LLMInterface:
|
||||||
}
|
}
|
||||||
elif provider == 'google':
|
elif provider == 'google':
|
||||||
# Special handling for Google Gemini models
|
# 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
|
# Google Gemini uses a different API base
|
||||||
params['api_base'] = self.model_config.get('endpoint', 'https://generativelanguage.googleapis.com/v1')
|
params['api_base'] = self.model_config.get('endpoint', 'https://generativelanguage.googleapis.com/v1')
|
||||||
else:
|
else:
|
||||||
|
|
|
@ -60,7 +60,10 @@ class ReportSynthesizer:
|
||||||
api_key = self.config.get_api_key(provider)
|
api_key = self.config.get_api_key(provider)
|
||||||
|
|
||||||
# Set environment variable for the 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})")
|
logger.info(f"Report synthesizer initialized with model: {self.model_name} (provider: {provider})")
|
||||||
except ValueError as e:
|
except ValueError as e:
|
||||||
|
@ -97,7 +100,7 @@ class ReportSynthesizer:
|
||||||
}
|
}
|
||||||
elif provider == 'google':
|
elif provider == 'google':
|
||||||
# Special handling for Google Gemini models
|
# 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
|
# Google Gemini uses a different API base
|
||||||
params['api_base'] = self.model_config.get('endpoint', 'https://generativelanguage.googleapis.com/v1')
|
params['api_base'] = self.model_config.get('endpoint', 'https://generativelanguage.googleapis.com/v1')
|
||||||
else:
|
else:
|
||||||
|
|
Loading…
Reference in New Issue