import google.generativeai as genai import gradio as gr import numpy as np import PIL.Image import io genai.configure(api_key="AIzaSyAj-b3sO_wUguMdpXWScxKzMHxb8C5cels") def ImageChat(image, prompt): # Check image file and convert to a PIL Image object if isinstance(image, np.ndarray): img = PIL.Image.fromarray(image) else: try: img = PIL.Image.open(image) except (AttributeError, IOError) as e: return f"Invalid image provided. Please provide a valid image file. Error: {e}" # Load model model = genai.GenerativeModel("gemini-pro-vision") # Generate response try: response = model.generate_content([prompt, img]) if not response or not response.text: return "No valid response received. The response might have been blocked." return response.text except ValueError as e: return f"Error in generating response: {e}" app = gr.Interface( fn=ImageChat, inputs=[gr.Image(label="Image"), gr.Text(label="Prompt")], outputs=gr.Text(label="Response"), title="Image Chat", theme=gr.themes.Soft() ) app.launch()