Josedcape commited on
Commit
3389243
·
verified ·
1 Parent(s): da76ba8

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +29 -14
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":"sWMvMKk7Mvv5o6Q90XGMfP2vliUiagc9rESBAO9DVZQdmlcla0LMJ8O3"}
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 alusiva usando Pexels
157
- def generar_imagen(frase):
158
  try:
159
- image_url = buscar_imagenes(frase + " Jesus spirituality church Bible")
160
- return image_url
 
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
- versiculo_usuario = st.text_input("Escribe un versículo o una palabra:")
171
 
172
  if st.button("Generar"):
173
- if versiculo_usuario:
174
- with st.spinner("Buscando imagen..."):
175
- imagen_url = generar_imagen(versiculo_usuario)
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