Spaces:
Build error
Build error
Update app.py
Browse files
app.py
CHANGED
|
@@ -78,13 +78,25 @@ page = st.sidebar.selectbox("Selecciona una página", ["Chat Asistente", "Gesti
|
|
| 78 |
# Función para buscar imágenes en Pexels
|
| 79 |
def buscar_imagenes(query):
|
| 80 |
search_url = "https://api.pexels.com/v1/search"
|
| 81 |
-
headers = {"Authorization":
|
| 82 |
-
params = {"query": query, "per_page": 1}
|
| 83 |
response = requests.get(search_url, headers=headers, params=params)
|
| 84 |
response.raise_for_status()
|
| 85 |
search_results = response.json()
|
| 86 |
return search_results["photos"][0]["src"]["original"]
|
| 87 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 88 |
if page == "Chat Asistente":
|
| 89 |
# Chat con el asistente
|
| 90 |
st.subheader("🗣️ Chat con el Asistente")
|
|
@@ -153,29 +165,32 @@ elif page == "Gestión de Pedidos":
|
|
| 153 |
calculo_pedido_agent.calcular_total(st.session_state)
|
| 154 |
|
| 155 |
elif page == "Generador de Frases Bíblicas":
|
| 156 |
-
# Función para generar una imagen
|
| 157 |
-
def
|
| 158 |
try:
|
| 159 |
-
image_url = buscar_imagenes(
|
| 160 |
-
|
|
|
|
| 161 |
except Exception as e:
|
| 162 |
-
st.error(f"Error al generar la imagen: {e}")
|
| 163 |
-
return None
|
| 164 |
|
| 165 |
# Encabezado
|
| 166 |
st.subheader("📜 Generador de Frases Bíblicas")
|
| 167 |
-
st.markdown("Escribe un versículo o una palabra y obtén una imagen alusiva usando Pexels.")
|
| 168 |
|
| 169 |
# Entrada de texto para el versículo o palabra
|
| 170 |
-
|
| 171 |
|
| 172 |
if st.button("Generar"):
|
| 173 |
-
if
|
| 174 |
-
with st.spinner("Buscando imagen..."):
|
| 175 |
-
imagen_url =
|
| 176 |
-
if imagen_url:
|
| 177 |
st.subheader("Imagen alusiva:")
|
| 178 |
st.image(imagen_url)
|
|
|
|
|
|
|
| 179 |
else:
|
| 180 |
st.warning("Por favor, ingresa un versículo o una palabra antes de generar.")
|
| 181 |
|
|
|
|
| 78 |
# Función para buscar imágenes en Pexels
|
| 79 |
def buscar_imagenes(query):
|
| 80 |
search_url = "https://api.pexels.com/v1/search"
|
| 81 |
+
headers = {"Authorization": pexels_api_key}
|
| 82 |
+
params = {"query": query + " Jesus spirituality church Bible", "per_page": 1}
|
| 83 |
response = requests.get(search_url, headers=headers, params=params)
|
| 84 |
response.raise_for_status()
|
| 85 |
search_results = response.json()
|
| 86 |
return search_results["photos"][0]["src"]["original"]
|
| 87 |
|
| 88 |
+
# Función para generar reflexión con OpenAI
|
| 89 |
+
def generar_reflexion(keyword):
|
| 90 |
+
prompt = f"Genera una reflexión inspiradora sobre {keyword} en el contexto de la espiritualidad y la Biblia."
|
| 91 |
+
response = openai.ChatCompletion.create(
|
| 92 |
+
model="gpt-4",
|
| 93 |
+
messages=[{"role": "system", "content": "Eres un asistente teológico que proporciona reflexiones inspiradoras."},
|
| 94 |
+
{"role": "user", "content": prompt}],
|
| 95 |
+
temperature=0.7,
|
| 96 |
+
max_tokens=150,
|
| 97 |
+
)
|
| 98 |
+
return response['choices'][0]['message']['content']
|
| 99 |
+
|
| 100 |
if page == "Chat Asistente":
|
| 101 |
# Chat con el asistente
|
| 102 |
st.subheader("🗣️ Chat con el Asistente")
|
|
|
|
| 165 |
calculo_pedido_agent.calcular_total(st.session_state)
|
| 166 |
|
| 167 |
elif page == "Generador de Frases Bíblicas":
|
| 168 |
+
# Función para generar una imagen y reflexión
|
| 169 |
+
def generar_imagen_y_reflexion(keyword):
|
| 170 |
try:
|
| 171 |
+
image_url = buscar_imagenes(keyword)
|
| 172 |
+
reflexion = generar_reflexion(keyword)
|
| 173 |
+
return image_url, reflexion
|
| 174 |
except Exception as e:
|
| 175 |
+
st.error(f"Error al generar la imagen o reflexión: {e}")
|
| 176 |
+
return None, None
|
| 177 |
|
| 178 |
# Encabezado
|
| 179 |
st.subheader("📜 Generador de Frases Bíblicas")
|
| 180 |
+
st.markdown("Escribe un versículo o una palabra y obtén una imagen alusiva y una reflexión usando Pexels y OpenAI.")
|
| 181 |
|
| 182 |
# Entrada de texto para el versículo o palabra
|
| 183 |
+
keyword_usuario = st.text_input("Escribe un versículo o una palabra:")
|
| 184 |
|
| 185 |
if st.button("Generar"):
|
| 186 |
+
if keyword_usuario:
|
| 187 |
+
with st.spinner("Buscando imagen y generando reflexión..."):
|
| 188 |
+
imagen_url, reflexion = generar_imagen_y_reflexion(keyword_usuario)
|
| 189 |
+
if imagen_url and reflexion:
|
| 190 |
st.subheader("Imagen alusiva:")
|
| 191 |
st.image(imagen_url)
|
| 192 |
+
st.subheader("Reflexión:")
|
| 193 |
+
st.markdown(reflexion)
|
| 194 |
else:
|
| 195 |
st.warning("Por favor, ingresa un versículo o una palabra antes de generar.")
|
| 196 |
|