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()