-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathgemini_utility.py
41 lines (30 loc) · 1.33 KB
/
gemini_utility.py
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import os
from dotenv import load_dotenv
from PIL import Image
import google.generativeai as genai
GOOGLE_API_KEY = os.getenv("GOOGLE_API_KEY")
# configuring google.generativeai with API key
genai.configure(api_key=GOOGLE_API_KEY)
def load_gemini_pro_model():
gemini_pro_model = genai.GenerativeModel("gemini-pro")
return gemini_pro_model
# get response from Gemini-Pro-Vision model - image/text to text
def gemini_pro_vision_response(prompt, image):
gemini_pro_vision_model = genai.GenerativeModel("gemini-pro-vision")
response = gemini_pro_vision_model.generate_content([prompt, image])
result = response.text
return result
# get response from embeddings model - text to embeddings
def embeddings_model_response(input_text):
embedding_model = "models/embedding-001"
embedding = genai.embed_content(model=embedding_model,
content=input_text,
task_type="retrieval_document")
embedding_list = embedding["embedding"]
return embedding_list
# get response from Gemini-Pro model - text to text
def gemini_pro_response(user_prompt):
gemini_pro_model = genai.GenerativeModel("gemini-pro")
response = gemini_pro_model.generate_content(user_prompt)
result = response.text
return result