import google.generativeai as genai import gradio as gr import numpy as np import PIL.Image import pandas as pd genai.configure(api_key="AIzaSyA7tPavobVN5_3-BJ0qhFT5HVjO4V19QWk") def ImageChat(image): # Configuración de la personalidad del sistema system_prompt = "Eres un asistente que analiza imágenes e intenta siempre dar una respuesta positiva o negativa ante la pregunta aunque no se tenga la seguridad o la imagen no sea perfecta" # Lista de preguntas preconfiguradas questions = [ "¿La persona está utilizando auriculares?", "¿La persona está utilizando capucha o algo que le cubra la cabeza?", "¿Existe dinero como monedas o billetes que estén el piso?", "¿La persona se encuentra interactuando con su teléfono móvil?" ] # load model model = genai.GenerativeModel("gemini-1.5-flash") # check image file and convert to a Numpy array if isinstance(image, np.ndarray): img = PIL.Image.fromarray(image) else: img = PIL.Image.open(image) # Initialize results list results = [] # Process each question for question in questions: full_prompt = f"{system_prompt}\n\n{question}" response = model.generate_content([full_prompt, img]) results.append(response.text) # Create a DataFrame to display results as a table df = pd.DataFrame({"Pregunta": questions, "Respuesta": results}) return df # Define Gradio interface app = gr.Interface( ImageChat, inputs=gr.Image(label="Imagen"), outputs=gr.Dataframe(headers=["Pregunta", "Respuesta"], label="Resultados"), title="Análisis de Imagen", theme="Taithrah/Minimal" ) app.launch()