Skip to content

Commit

Permalink
use system instruction for gemini
Browse files Browse the repository at this point in the history
  • Loading branch information
djcopley committed Feb 9, 2025
1 parent 462def9 commit c54d6ee
Showing 1 changed file with 3 additions and 7 deletions.
10 changes: 3 additions & 7 deletions src/shelloracle/providers/google.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,23 +9,19 @@ class Google(Provider):
name = "Google"

api_key = Setting(default="")
model = Setting(default="gemini-pro") # Assuming a default model name
model = Setting(default="gemini-2.0-flash") # Assuming a default model name

def __init__(self):
if not self.api_key:
msg = "No API key provided"
raise ProviderError(msg)
genai.configure(api_key=self.api_key)
self.model_instance = genai.GenerativeModel(self.model)
self.model_instance = genai.GenerativeModel(self.model, system_instruction=system_prompt)

async def generate(self, prompt: str) -> AsyncIterator[str]:
try:
response = await self.model_instance.generate_content_async(
[
{"role": "user", "parts": [system_prompt]},
{"role": "model", "parts": ["Okay."]}, # Gemini requires a model response before user input
{"role": "user", "parts": [prompt]},
],
[prompt],
stream=True,
)

Expand Down

0 comments on commit c54d6ee

Please sign in to comment.