Jarbot.Beta / app.py
ValValFunny's picture
Update app.py
2d94923 verified
raw
history blame
3.28 kB
import gradio as gr
from transformers import pipeline
from datetime import datetime
import pytz
import requests
# Crear el chatbot usando el modelo de transformers
chatbot = pipeline("text-generation", model="ajustefino_model")
# Función para obtener el clima en Viña del Mar con Open-Meteo
def get_weather():
url = "https://api.open-meteo.com/v1/forecast?latitude=-33.0153&longitude=-71.5503&current_weather=true"
response = requests.get(url)
if response.status_code == 200:
data = response.json()
temp = data["current_weather"]["temperature"]
windspeed = data["current_weather"]["windspeed"]
return f"El clima es de {temp}°C con una velocidad de viento de {windspeed} km/h."
else:
return "Lo siento, no pude obtener el clima en este momento."
# Función para obtener la respuesta del bot
def get_response(user_input):
# Respuestas personalizadas según ciertas palabras clave
if "hola" in user_input.lower():
return "¡Hola, soy Jarbot! ¿Cómo puedo ayudarte hoy?"
if "horario" in user_input.lower():
return "El Jardín está abierto de [9:00 hasta las 17:30]. ¡Espero que vengas!"
if "actividades" in user_input.lower():
return "¡Sii! Hoy tenemos..."
if "especies" in user_input.lower():
return "Pues hay muchas! Aquí puedes encontrar una variedad de plantas como [cactarios, colecciones de la isla de Juan Fernández, algunos del bosque esclerófilo de la zona central y mucho más] y también hay animales como [ganzos, tortugas, etc]. ¿No es lindo?."
if "reglas" in user_input.lower():
return "Pues, para preservar el entorno, te pido que no recojas plantas, respetes las áreas designadas y mantengas el Jardín limpio, nos encanta saber que cuidas del Jardín"
if "picnic" in user_input.lower():
return "!Si por supuesto! Contamos con áreas de picnic y negocios donde podrás disfrutar de snacks. ¡Así descansas, comes algo y admiras el Jardín!"
if "movilidad reducida" in user_input.lower():
return "Sí, el Jardín cuenta con caminos accesibles y rampas para que todos puedan disfrutar del espacio"
if "historia" in user_input.lower():
return "El Jardín Botánico fue fundado en [1951] y tiene una historia fascinante de preservación y estudio de especies vegetales. Tristemente, gracias al incendio se quemó el 90% del Jardín :( "
elif "hora" in user_input.lower():
# Configura la zona horaria de Chile
chile_tz = pytz.timezone("America/Santiago")
chile_time = datetime.now(chile_tz).strftime('%H:%M')
return f"Son las {chile_time}. ¿Hay algo más en lo que pueda ayudarte?"
elif "clima" in user_input.lower():
return get_weather()
elif "adiós" in user_input.lower():
return "¡Bye amigo! Que tengas un buen día."
else:
# Respuesta por defecto usando el modelo GPT-2
response = chatbot(user_input, max_length=50)
return response[0]['generated_text']
# Crear la interfaz con Gradio
iface = gr.Interface(fn=get_response, inputs="text", outputs="text",
title="Asistente Virtual", description="¡Escribe algo para interactuar con el asistente!")
# Lanzar la interfaz
iface.launch()