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

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -10
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": 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
@@ -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
- 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}")
 
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}")