Spaces:
Running
Running
File size: 1,710 Bytes
337a0be 6094276 337a0be 6094276 9a1c304 6094276 337a0be 6094276 337a0be 6094276 337a0be 6094276 337a0be 6094276 9a1c304 6094276 337a0be 6094276 337a0be 6094276 337a0be 6094276 337a0be 9a1c304 |
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 |
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() |