-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgeminiRequestFramework.py
More file actions
26 lines (21 loc) · 980 Bytes
/
geminiRequestFramework.py
File metadata and controls
26 lines (21 loc) · 980 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import os
import google.generativeai as genai
import time
from dotenv import load_dotenv, dotenv_values
class geminiRequestFramework:
model = None
myfile = None
def uploadAudio(self, audioPath):
start = time.time()
geminiRequestFramework.myfile = genai.upload_file(audioPath)
print(f"{geminiRequestFramework.myfile=}\n______________\nUploaded in {time.time() - start:.2f} seconds")
def generateResponse(self):
start = time.time()
response = geminiRequestFramework.model.generate_content([geminiRequestFramework.myfile, "Respond to this scam as a grandma would."])
print(f"{response.text}\n______________\nExecuted in {time.time() - start:.2f} seconds")
return response.text
def __init__(self):
load_dotenv()
print(os.environ["API_KEY"])
genai.configure(api_key=os.environ["API_KEY"])
geminiRequestFramework.model = genai.GenerativeModel("gemini-1.5-flash")