25 lines
792 B
Python
25 lines
792 B
Python
import google.generativeai as genai
|
|
|
|
|
|
class GeminiProvider:
|
|
"""Generates content using Google's Gemini models."""
|
|
|
|
def generate(
|
|
self, prompt: str, api_key: str, model: str = "gemini-pro", **kwargs
|
|
) -> str:
|
|
"""Generates a response using the Gemini API."""
|
|
if not api_key:
|
|
raise ValueError("Gemini API key is required.")
|
|
|
|
genai.configure(api_key=api_key)
|
|
|
|
# Handle model name mapping if needed, or trust user input
|
|
# gemini-pro is a common default
|
|
|
|
try:
|
|
model_instance = genai.GenerativeModel(model)
|
|
response = model_instance.generate_content(prompt)
|
|
return response.text.strip()
|
|
except Exception as e:
|
|
raise RuntimeError(f"Gemini generation failed: {e}")
|