Josedcape commited on
Commit
cfcf3fe
verified
1 Parent(s): f2ce0de

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +19 -15
app.py CHANGED
@@ -1,5 +1,5 @@
1
  import streamlit as st
2
- from diffusers import StableDiffusionPipeline
3
  from dotenv import load_dotenv
4
  import openai
5
  import os
@@ -13,6 +13,7 @@ from streamlit_webrtc import webrtc_streamer, WebRtcMode, AudioProcessorBase
13
  # Configuraci贸n de la clave API
14
  load_dotenv()
15
  openai.api_key = os.getenv("OPENAI_API_KEY")
 
16
  os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "botidinamix-g.json"
17
 
18
  # Configuraci贸n de Streamlit
@@ -74,12 +75,15 @@ st.markdown("Bienvenido al Asistente Teol贸gico, donde puedes preguntar sobre in
74
  st.sidebar.title("Navegaci贸n")
75
  page = st.sidebar.selectbox("Selecciona una p谩gina", ["Chat Asistente", "Gesti贸n de Pedidos", "Generador de Frases B铆blicas"])
76
 
77
- # Cargar el modelo de Hugging Face
78
- @st.cache_resource
79
- def cargar_modelo():
80
- return StableDiffusionPipeline.from_pretrained("CompVis/stable-diffusion-v1-4")
81
-
82
- modelo_generacion_imagenes = cargar_modelo()
 
 
 
83
 
84
  if page == "Chat Asistente":
85
  # Chat con el asistente
@@ -149,29 +153,29 @@ elif page == "Gesti贸n de Pedidos":
149
  calculo_pedido_agent.calcular_total(st.session_state)
150
 
151
  elif page == "Generador de Frases B铆blicas":
152
- # Funci贸n para generar una imagen alusiva usando Hugging Face
153
  def generar_imagen(frase):
154
  try:
155
- image = modelo_generacion_imagenes(frase, num_inference_steps=50, guidance_scale=7.5).images[0]
156
- return image
157
  except Exception as e:
158
  st.error(f"Error al generar la imagen: {e}")
159
  return None
160
 
161
  # Encabezado
162
  st.subheader("馃摐 Generador de Frases B铆blicas")
163
- st.markdown("Escribe un vers铆culo o una palabra y obt茅n una imagen alusiva usando Hugging Face.")
164
 
165
  # Entrada de texto para el vers铆culo o palabra
166
  versiculo_usuario = st.text_input("Escribe un vers铆culo o una palabra:")
167
 
168
  if st.button("Generar"):
169
  if versiculo_usuario:
170
- with st.spinner("Generando imagen..."):
171
- imagen_generada = generar_imagen(versiculo_usuario)
172
- if imagen_generada:
173
  st.subheader("Imagen alusiva:")
174
- st.image(imagen_generada)
175
  else:
176
  st.warning("Por favor, ingresa un vers铆culo o una palabra antes de generar.")
177
 
 
1
  import streamlit as st
2
+ import requests
3
  from dotenv import load_dotenv
4
  import openai
5
  import os
 
13
  # Configuraci贸n de la clave API
14
  load_dotenv()
15
  openai.api_key = os.getenv("OPENAI_API_KEY")
16
+ pexels_api_key = os.getenv("sWMvMKk7Mvv5o6Q90XGMfP2vliUiagc9rESBAO9DVZQdmlcla0LMJ8O3")
17
  os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "botidinamix-g.json"
18
 
19
  # Configuraci贸n de Streamlit
 
75
  st.sidebar.title("Navegaci贸n")
76
  page = st.sidebar.selectbox("Selecciona una p谩gina", ["Chat Asistente", "Gesti贸n de Pedidos", "Generador de Frases B铆blicas"])
77
 
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, "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
 
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)
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