app.py
Browse filesGenerador de promts automático solo uno
app.py
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# app.py
|
| 2 |
+
import gradio as gr
|
| 3 |
+
import os
|
| 4 |
+
|
| 5 |
+
# --- Lógica de la aplicación ---
|
| 6 |
+
# Define la función principal que procesa la entrada del usuario y genera la salida.
|
| 7 |
+
# En este ejemplo, toma un nombre y un nivel de intensidad para crear un saludo.
|
| 8 |
+
def greet(name, intensity):
|
| 9 |
+
"""
|
| 10 |
+
Genera un saludo con el nombre y la intensidad proporcionados.
|
| 11 |
+
|
| 12 |
+
Args:
|
| 13 |
+
name (str): El nombre del usuario. Si está vacío, se usa 'world'.
|
| 14 |
+
intensity (float): Un valor para determinar cuántos signos de exclamación añadir.
|
| 15 |
+
|
| 16 |
+
Returns:
|
| 17 |
+
str: La cadena de saludo completa.
|
| 18 |
+
"""
|
| 19 |
+
# Si el nombre está vacío, usa 'world' como valor predeterminado.
|
| 20 |
+
final_name = name if name else 'world'
|
| 21 |
+
|
| 22 |
+
# Agrega signos de exclamación según el valor de intensidad.
|
| 23 |
+
exclamation_marks = "!" * int(intensity)
|
| 24 |
+
|
| 25 |
+
return f"Hello, {final_name}{exclamation_marks}"
|
| 26 |
+
|
| 27 |
+
# --- Creación de la interfaz Gradio ---
|
| 28 |
+
# gr.Interface es la forma más sencilla de crear una interfaz de usuario.
|
| 29 |
+
# fn: La función que será ejecutada cuando el usuario interactúe con la app.
|
| 30 |
+
# inputs: Los componentes de entrada que se mostrarán al usuario.
|
| 31 |
+
# - gr.Text(): Un campo de texto para ingresar el nombre.
|
| 32 |
+
# - gr.Slider(): Un deslizador para seleccionar la intensidad.
|
| 33 |
+
# outputs: El componente de salida para mostrar el resultado.
|
| 34 |
+
# - gr.Text(): Un campo de texto para mostrar el saludo.
|
| 35 |
+
demo = gr.Interface(
|
| 36 |
+
fn=greet,
|
| 37 |
+
inputs=[
|
| 38 |
+
gr.Text(label="Tu nombre", placeholder="Escribe tu nombre aquí..."),
|
| 39 |
+
gr.Slider(minimum=1, maximum=10, step=1, default=3, label="Intensidad del saludo")
|
| 40 |
+
],
|
| 41 |
+
outputs=gr.Text(label="Saludo generado"),
|
| 42 |
+
title="Aplicación de Saludo con Gradio",
|
| 43 |
+
description="Una demo simple de Gradio para generar saludos personalizados."
|
| 44 |
+
)
|
| 45 |
+
|
| 46 |
+
# --- Configuración para el despliegue ---
|
| 47 |
+
# Esta parte es crucial para que la aplicación funcione en servicios como Koyeb, Hugging Face Spaces, Render, etc.
|
| 48 |
+
# La mayoría de estos servicios asignan un puerto dinámicamente a través de una variable de entorno llamada 'PORT'.
|
| 49 |
+
# Si la variable 'PORT' no está definida (por ejemplo, cuando ejecutas el archivo localmente),
|
| 50 |
+
# usa el puerto 7860 como valor predeterminado, que es el puerto estándar de Gradio.
|
| 51 |
+
port = int(os.environ.get('PORT', 7860))
|
| 52 |
+
|
| 53 |
+
# El server_name="0.0.0.0" es necesario para que el servidor de Gradio sea accesible desde fuera del localhost,
|
| 54 |
+
# lo que permite que el servicio de despliegue se conecte a tu aplicación.
|
| 55 |
+
demo.launch(server_name="0.0.0.0", server_port=port)
|