Josedcape commited on
Commit
162f9f8
verified
1 Parent(s): 6c77893

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +31 -20
app.py CHANGED
@@ -8,7 +8,8 @@ from google.cloud import texttospeech
8
  import PyPDF2
9
  from fpdf import FPDF
10
  import tempfile
11
- import requests # Aseg煤rate de tener instalada la librer铆a requests
 
12
 
13
  # Cargar variables de entorno desde el archivo .env
14
  load_dotenv()
@@ -128,29 +129,39 @@ st.markdown("Bienvenido al Asistente Teol贸gico, donde puedes preguntar sobre in
128
  st.sidebar.title("Navegaci贸n")
129
  page = st.sidebar.selectbox("Selecciona una p谩gina", ["P谩gina Principal", "Chat Asistente", "Generador de Frases B铆blicas", "Recibir Reflexi贸n", "La conexi贸n", "Diario Reflexivo"])
130
 
131
- # Funci贸n para generar texto con Groq
132
- def generar_texto_groq(prompt):
 
 
 
 
 
133
  try:
134
- headers = {
135
- "Authorization": f"Bearer {groq_api_key}",
136
- "Content-Type": "application/json"
137
- }
138
- data = {
139
- "prompt": prompt,
140
- "max_tokens": 1000,
141
- "model": "groq_model" # Aseg煤rate de usar el modelo correcto de Groq
142
- }
143
- response = requests.post("https://api.groq.com/v1/completions", headers=headers, json=data)
144
- response.raise_for_status()
145
- result = response.json()
146
- return result['choices'][0]['text'].strip()
147
- except requests.exceptions.RequestException as e:
148
- return f"Error en la generaci贸n de texto: {e}"
 
 
 
 
 
149
 
150
  # Funci贸n para generar reflexi贸n usando Groq
151
  def generar_reflexion(keyword):
152
  prompt = f"Genera una reflexi贸n inspiradora sobre {keyword} en el contexto de la espiritualidad y la Biblia."
153
- respuesta = generar_texto_groq(prompt)
154
  return respuesta
155
 
156
  # Funci贸n para convertir texto a voz
@@ -205,7 +216,7 @@ def generar_oracion_desde_pdf():
205
  pdf_path = "diario-de-oraciones.pdf" # Ruta al PDF
206
  texto_pdf = extraer_texto_pdf(pdf_path)
207
  prompt = f"Genera una oraci贸n inspiradora basada en el siguiente texto: {texto_pdf[:2000]}" # Limitar a los primeros 2000 caracteres
208
- respuesta = generar_texto_groq(prompt)
209
  return respuesta
210
 
211
  # Funci贸n para generar y descargar un PDF con la entrada del diario
 
8
  import PyPDF2
9
  from fpdf import FPDF
10
  import tempfile
11
+ import requests
12
+ from groq import Groq # Aseg煤rate de tener instalada la librer铆a groq
13
 
14
  # Cargar variables de entorno desde el archivo .env
15
  load_dotenv()
 
129
  st.sidebar.title("Navegaci贸n")
130
  page = st.sidebar.selectbox("Selecciona una p谩gina", ["P谩gina Principal", "Chat Asistente", "Generador de Frases B铆blicas", "Recibir Reflexi贸n", "La conexi贸n", "Diario Reflexivo"])
131
 
132
+ # Funci贸n para obtener respuesta de Groq
133
+ def obtener_respuesta(pregunta, contexto="", modelo="llama3-8b-8192", temperatura=0.5):
134
+ """Obtiene una respuesta de Groq basada en el contexto y la pregunta proporcionados."""
135
+ if not pregunta:
136
+ st.error("La pregunta no puede estar vac铆a.")
137
+ return "Lo siento, la pregunta no puede estar vac铆a."
138
+
139
  try:
140
+ client = Groq(api_key=groq_api_key)
141
+ with st.spinner('Evaluando su respuesta...'):
142
+ response = client.chat.completions.create(
143
+ messages=[
144
+ {"role": "system", "content": contexto},
145
+ {"role": "user", "content": pregunta}
146
+ ],
147
+ model=modelo,
148
+ temperature=temperatura,
149
+ max_tokens=1024,
150
+ top_p=1,
151
+ stop=None,
152
+ stream=False,
153
+ )
154
+ respuesta = response.choices[0].message.content.strip()
155
+ return respuesta
156
+
157
+ except Exception as e:
158
+ st.error(f"Error al comunicarse con Groq: {e}")
159
+ return "Lo siento, no puedo procesar tu solicitud en este momento."
160
 
161
  # Funci贸n para generar reflexi贸n usando Groq
162
  def generar_reflexion(keyword):
163
  prompt = f"Genera una reflexi贸n inspiradora sobre {keyword} en el contexto de la espiritualidad y la Biblia."
164
+ respuesta = obtener_respuesta(prompt)
165
  return respuesta
166
 
167
  # Funci贸n para convertir texto a voz
 
216
  pdf_path = "diario-de-oraciones.pdf" # Ruta al PDF
217
  texto_pdf = extraer_texto_pdf(pdf_path)
218
  prompt = f"Genera una oraci贸n inspiradora basada en el siguiente texto: {texto_pdf[:2000]}" # Limitar a los primeros 2000 caracteres
219
+ respuesta = obtener_respuesta(prompt)
220
  return respuesta
221
 
222
  # Funci贸n para generar y descargar un PDF con la entrada del diario