Spaces:
Sleeping
Sleeping
Update app.py
#1
by
Josedcape - opened
app.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
| 1 |
-
import pandas as pd
|
| 2 |
import streamlit as st
|
|
|
|
| 3 |
from dotenv import load_dotenv
|
| 4 |
import openai
|
| 5 |
import os
|
|
@@ -9,13 +9,11 @@ import tempfile
|
|
| 9 |
from google.cloud import texttospeech
|
| 10 |
from google.cloud.speech import SpeechClient, RecognitionAudio, RecognitionConfig
|
| 11 |
from streamlit_webrtc import webrtc_streamer, WebRtcMode, AudioProcessorBase
|
| 12 |
-
import requests
|
| 13 |
|
| 14 |
# Configuración de la clave API
|
| 15 |
load_dotenv()
|
| 16 |
openai.api_key = os.getenv("OPENAI_API_KEY")
|
| 17 |
-
os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "
|
| 18 |
-
PEXELS_API_KEY = os.getenv("PEXELS_API_KEY")
|
| 19 |
|
| 20 |
# Configuración de Streamlit
|
| 21 |
st.set_page_config(page_title="Asistente Teológico", page_icon="📖")
|
|
@@ -76,6 +74,13 @@ st.markdown("Bienvenido al Asistente Teológico, donde puedes preguntar sobre in
|
|
| 76 |
st.sidebar.title("Navegación")
|
| 77 |
page = st.sidebar.selectbox("Selecciona una página", ["Chat Asistente", "Gestión de Pedidos", "Generador de Frases Bíblicas"])
|
| 78 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 79 |
if page == "Chat Asistente":
|
| 80 |
# Chat con el asistente
|
| 81 |
st.subheader("🗣️ Chat con el Asistente")
|
|
@@ -144,31 +149,19 @@ elif page == "Gestión de Pedidos":
|
|
| 144 |
calculo_pedido_agent.calcular_total(st.session_state)
|
| 145 |
|
| 146 |
elif page == "Generador de Frases Bíblicas":
|
| 147 |
-
# Función para generar una imagen alusiva usando
|
| 148 |
def generar_imagen(frase):
|
| 149 |
-
|
| 150 |
-
|
| 151 |
-
|
| 152 |
-
|
| 153 |
-
|
| 154 |
-
"
|
| 155 |
-
}
|
| 156 |
-
response = requests.get("https://api.pexels.com/v1/search", headers=headers, params=params)
|
| 157 |
-
if response.status_code == 200:
|
| 158 |
-
data = response.json()
|
| 159 |
-
st.write(data) # Mostrar la respuesta de la API para depuración
|
| 160 |
-
if data["photos"]:
|
| 161 |
-
return data["photos"][0]["src"]["large"]
|
| 162 |
-
else:
|
| 163 |
-
st.error("No se encontraron imágenes")
|
| 164 |
-
return None
|
| 165 |
-
else:
|
| 166 |
-
st.error(f"Error al buscar la imagen: {response.status_code} - {response.text}")
|
| 167 |
return None
|
| 168 |
|
| 169 |
# Encabezado
|
| 170 |
st.subheader("📜 Generador de Frases Bíblicas")
|
| 171 |
-
st.markdown("Escribe un versículo o una palabra y obtén una imagen alusiva usando
|
| 172 |
|
| 173 |
# Entrada de texto para el versículo o palabra
|
| 174 |
versiculo_usuario = st.text_input("Escribe un versículo o una palabra:")
|
|
@@ -176,10 +169,10 @@ elif page == "Generador de Frases Bíblicas":
|
|
| 176 |
if st.button("Generar"):
|
| 177 |
if versiculo_usuario:
|
| 178 |
with st.spinner("Generando imagen..."):
|
| 179 |
-
|
| 180 |
-
if
|
| 181 |
st.subheader("Imagen alusiva:")
|
| 182 |
-
st.image(
|
| 183 |
else:
|
| 184 |
st.warning("Por favor, ingresa un versículo o una palabra antes de generar.")
|
| 185 |
|
|
|
|
|
|
|
| 1 |
import streamlit as st
|
| 2 |
+
from transformers import pipeline
|
| 3 |
from dotenv import load_dotenv
|
| 4 |
import openai
|
| 5 |
import os
|
|
|
|
| 9 |
from google.cloud import texttospeech
|
| 10 |
from google.cloud.speech import SpeechClient, RecognitionAudio, RecognitionConfig
|
| 11 |
from streamlit_webrtc import webrtc_streamer, WebRtcMode, AudioProcessorBase
|
|
|
|
| 12 |
|
| 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
|
| 19 |
st.set_page_config(page_title="Asistente Teológico", page_icon="📖")
|
|
|
|
| 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(allow_output_mutation=True)
|
| 79 |
+
def cargar_modelo():
|
| 80 |
+
return pipeline('text-to-image', model='CompVis/stable-diffusion-v1-4')
|
| 81 |
+
|
| 82 |
+
modelo_generacion_imagenes = cargar_modelo()
|
| 83 |
+
|
| 84 |
if page == "Chat Asistente":
|
| 85 |
# Chat con el asistente
|
| 86 |
st.subheader("🗣️ Chat con el Asistente")
|
|
|
|
| 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 |
+
images = modelo_generacion_imagenes(frase, num_return_sequences=1)
|
| 156 |
+
image = images[0]["generated_image"]
|
| 157 |
+
return image
|
| 158 |
+
except Exception as e:
|
| 159 |
+
st.error(f"Error al generar la imagen: {e}")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 160 |
return None
|
| 161 |
|
| 162 |
# Encabezado
|
| 163 |
st.subheader("📜 Generador de Frases Bíblicas")
|
| 164 |
+
st.markdown("Escribe un versículo o una palabra y obtén una imagen alusiva usando Hugging Face.")
|
| 165 |
|
| 166 |
# Entrada de texto para el versículo o palabra
|
| 167 |
versiculo_usuario = st.text_input("Escribe un versículo o una palabra:")
|
|
|
|
| 169 |
if st.button("Generar"):
|
| 170 |
if versiculo_usuario:
|
| 171 |
with st.spinner("Generando imagen..."):
|
| 172 |
+
imagen_generada = generar_imagen(versiculo_usuario)
|
| 173 |
+
if imagen_generada:
|
| 174 |
st.subheader("Imagen alusiva:")
|
| 175 |
+
st.image(imagen_generada)
|
| 176 |
else:
|
| 177 |
st.warning("Por favor, ingresa un versículo o una palabra antes de generar.")
|
| 178 |
|