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=" # 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