Spaces:
Build error
Build error
Update app.py
Browse files
app.py
CHANGED
|
@@ -6,6 +6,7 @@ import os
|
|
| 6 |
import time
|
| 7 |
import base64
|
| 8 |
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
|
|
@@ -78,24 +79,29 @@ 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
|
| 83 |
response = requests.get(search_url, headers=headers, params=params)
|
| 84 |
response.raise_for_status()
|
| 85 |
search_results = response.json()
|
| 86 |
-
|
|
|
|
| 87 |
|
| 88 |
-
# Funci贸n para generar reflexi贸n con OpenAI
|
| 89 |
-
def
|
| 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=
|
| 97 |
)
|
| 98 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 99 |
|
| 100 |
if page == "Chat Asistente":
|
| 101 |
# Chat con el asistente
|
|
@@ -168,8 +174,8 @@ 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 |
-
|
| 172 |
-
|
| 173 |
return image_url, reflexion
|
| 174 |
except Exception as e:
|
| 175 |
st.error(f"Error al generar la imagen o reflexi贸n: {e}")
|
|
|
|
| 6 |
import time
|
| 7 |
import base64
|
| 8 |
import tempfile
|
| 9 |
+
import random
|
| 10 |
from google.cloud import texttospeech
|
| 11 |
from google.cloud.speech import SpeechClient, RecognitionAudio, RecognitionConfig
|
| 12 |
from streamlit_webrtc import webrtc_streamer, WebRtcMode, AudioProcessorBase
|
|
|
|
| 79 |
# Funci贸n para buscar im谩genes en Pexels
|
| 80 |
def buscar_imagenes(query):
|
| 81 |
search_url = "https://api.pexels.com/v1/search"
|
| 82 |
+
headers = {"Authorization":"sWMvMKk7Mvv5o6Q90XGMfP2vliUiagc9rESBAO9DVZQdmlcla0LMJ8O3"}
|
| 83 |
+
params = {"query": query, "per_page": 10}
|
| 84 |
response = requests.get(search_url, headers=headers, params=params)
|
| 85 |
response.raise_for_status()
|
| 86 |
search_results = response.json()
|
| 87 |
+
images = [photo["src"]["original"] for photo in search_results["photos"]]
|
| 88 |
+
return random.choice(images) if images else None
|
| 89 |
|
| 90 |
+
# Funci贸n para generar reflexi贸n y consulta de imagen con OpenAI
|
| 91 |
+
def generar_reflexion_y_consulta(keyword):
|
| 92 |
+
prompt = f"Genera una reflexi贸n inspiradora sobre {keyword} en el contexto de la espiritualidad y la Biblia, y proporciona una consulta de b煤squeda para una imagen relacionada."
|
| 93 |
response = openai.ChatCompletion.create(
|
| 94 |
model="gpt-4",
|
| 95 |
messages=[{"role": "system", "content": "Eres un asistente teol贸gico que proporciona reflexiones inspiradoras."},
|
| 96 |
{"role": "user", "content": prompt}],
|
| 97 |
temperature=0.7,
|
| 98 |
+
max_tokens=200,
|
| 99 |
)
|
| 100 |
+
respuesta = response['choices'][0]['message']['content']
|
| 101 |
+
partes = respuesta.split("Consulta de b煤squeda de imagen:")
|
| 102 |
+
reflexion = partes[0].strip()
|
| 103 |
+
consulta_imagen = partes[1].strip() if len(partes) > 1 else keyword
|
| 104 |
+
return reflexion, consulta_imagen
|
| 105 |
|
| 106 |
if page == "Chat Asistente":
|
| 107 |
# Chat con el asistente
|
|
|
|
| 174 |
# Funci贸n para generar una imagen y reflexi贸n
|
| 175 |
def generar_imagen_y_reflexion(keyword):
|
| 176 |
try:
|
| 177 |
+
reflexion, consulta_imagen = generar_reflexion_y_consulta(keyword)
|
| 178 |
+
image_url = buscar_imagenes(consulta_imagen)
|
| 179 |
return image_url, reflexion
|
| 180 |
except Exception as e:
|
| 181 |
st.error(f"Error al generar la imagen o reflexi贸n: {e}")
|