Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
| 1 |
import streamlit as st
|
| 2 |
-
|
| 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 |
-
#
|
| 78 |
-
|
| 79 |
-
|
| 80 |
-
|
| 81 |
-
|
| 82 |
-
|
|
|
|
|
|
|
|
|
|
| 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
|
| 153 |
def generar_imagen(frase):
|
| 154 |
try:
|
| 155 |
-
|
| 156 |
-
return
|
| 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
|
| 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("
|
| 171 |
-
|
| 172 |
-
if
|
| 173 |
st.subheader("Imagen alusiva:")
|
| 174 |
-
st.image(
|
| 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 |
|