Spaces:
Sleeping
Sleeping
from .BaseLLM import BaseLLM | |
import google.generativeai as genai | |
import os | |
import time | |
class Gemini(BaseLLM): | |
def __init__(self, model="gemini-1.5-flash"): | |
super(Gemini, self).__init__() | |
genai.configure(api_key=os.getenv("GEMINI_API_KEY")) | |
self.model_name = model | |
self.model = genai.GenerativeModel(model) | |
self.messages = [] | |
def initialize_message(self): | |
self.messages = [] | |
def ai_message(self, payload): | |
self.messages.append({"role": "model", "parts": payload}) | |
def system_message(self, payload): | |
self.messages.append({"role": "system", "parts": payload}) | |
def user_message(self, payload): | |
self.messages.append({"role": "user", "parts": payload}) | |
def get_response(self,temperature = 0.8): | |
time.sleep(3) | |
chat = self.model.start_chat( | |
history = self.messages | |
) | |
response = chat.send_message(generation_config=genai.GenerationConfig( | |
temperature=temperature, | |
)) | |
return response.text | |
def chat(self,text): | |
chat = self.model.start_chat() | |
response = chat.send_message(text) | |
return response.text | |
def print_prompt(self): | |
for message in self.messages: | |
print(message) |