Spaces:
Runtime error
Runtime error
File size: 2,576 Bytes
c1918f6 |
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 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
import google.generativeai as genai
from groq import Groq
import base64
import os
# For better security practices, retrieve sensitive information like API keys from environment variables.
GOOGLE_API_KEY = os.environ.get('GOOGLE_API_KEY')
genai.configure(api_key=GOOGLE_API_KEY)
# These codelines are just to verify if your api key is correct or not
# Use them when you clone the repo and build locally
#!curl \
#-H 'Content-Type: application/json' \
#-d '{ "prompt": { "text": "Write a very short story about a magic backpack"} }' \
#"https://generativelanguage.googleapis.com/v1beta3/models/text-bison-001:generateText?key=<enter-your-key-here>"
# Initialize genai models
# model = genai.GenerativeModel('gemini-1.5-pro')
# modelvis = genai.GenerativeModel('gemini-1.5-flash')
models = ["gemini-2.0-flash-exp",
"gemini-2.0-flash",
"gemini-1.5-flash-8b",
"gemini-1.5-flash",
"gemini-1.5-pro",
"llama-4-scout-17b-16e-instruct",
"llama-4-maverick-17b-128e-instruct"
]
def encode_image(image_path):
with open(image_path, "rb") as image_file:
return base64.b64encode(image_file.read()).decode('utf-8')
def encode_image(image):
buffered = io.BytesIO()
image.save(buffered, format="JPEG")
return base64.b64encode(buffered.getvalue()).decode('utf-8')
def readimage(image, prompt, model_name):
base64_image = encode_image(image)
image_content = {"type": "image_url", "image_url": {"url": f"data:image/jpeg;base64,{base64_image}"}}
client = Groq(api_key=os.environ.get("GROQ_API_KEY"))
try:
chat_completion = client.chat.completions.create(
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": prompt}, image_content,
],
}
],
model=model,
)
return chat_completion.choices[0].message.content
except Exception as e:
return f"Error: {str(e)}"
# def readimage(image, prompt, model_name):
# """
# Function to handle gemini model and gemini vision model interactions.
# Parameters:
# image: the image to read.
# prompt (str): The input text.
# model_name (str): model name.
# Returns:
# The response from the model.
# """
# messages = []
# messages.append({'role': 'user', 'parts': [prompt, image]})
# model = genai.GenerativeModel(model_name)
# response = model.generate_content(messages)
# return response.text
|