Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -6,6 +6,7 @@ from google.cloud import texttospeech
|
|
| 6 |
from dotenv import load_dotenv
|
| 7 |
from docx import Document
|
| 8 |
import base64
|
|
|
|
| 9 |
|
| 10 |
# Configuraci贸n de la interfaz
|
| 11 |
st.set_page_config(page_title="Boti Asistente", layout="wide")
|
|
@@ -92,6 +93,7 @@ def encuesta_asistente():
|
|
| 92 |
st.session_state.respuestas = {}
|
| 93 |
st.session_state.pregunta_actual = 0
|
| 94 |
st.session_state.preguntas_adicionales = []
|
|
|
|
| 95 |
|
| 96 |
if st.session_state.pregunta_actual < len(preguntas):
|
| 97 |
pregunta_actual = preguntas[st.session_state.pregunta_actual]
|
|
@@ -107,22 +109,23 @@ def encuesta_asistente():
|
|
| 107 |
respuesta = respuesta_otro
|
| 108 |
|
| 109 |
if st.button("Enviar respuesta", key=f"btn_{st.session_state.pregunta_actual}"):
|
| 110 |
-
st.
|
|
|
|
| 111 |
|
| 112 |
-
|
| 113 |
-
|
| 114 |
-
|
| 115 |
|
| 116 |
-
|
| 117 |
-
|
| 118 |
-
|
| 119 |
|
| 120 |
-
|
| 121 |
-
|
| 122 |
-
|
| 123 |
|
| 124 |
-
|
| 125 |
-
|
| 126 |
else:
|
| 127 |
st.write("Gracias por responder todas las preguntas. Haz clic en 'Registrar Encuesta' para finalizar y generar el archivo descargable.")
|
| 128 |
if st.button("Registrar Encuesta"):
|
|
@@ -150,11 +153,13 @@ def encuesta_asistente():
|
|
| 150 |
# Preguntas adicionales
|
| 151 |
if st.session_state.preguntas_adicionales:
|
| 152 |
st.markdown("<h3>Preguntas Adicionales:</h3>", unsafe_allow_html=True)
|
| 153 |
-
|
| 154 |
-
|
| 155 |
-
|
| 156 |
-
|
| 157 |
-
|
|
|
|
|
|
|
| 158 |
st.session_state.respuestas[pregunta_adicional] = respuesta_adicional
|
| 159 |
respuesta_asistente = obtener_respuesta(respuesta_adicional)
|
| 160 |
st.session_state.respuesta_actual = respuesta_asistente
|
|
@@ -162,6 +167,7 @@ def encuesta_asistente():
|
|
| 162 |
audio_path = text_to_speech(respuesta_asistente)
|
| 163 |
st.session_state.audio_path = audio_path
|
| 164 |
|
|
|
|
| 165 |
st.experimental_rerun()
|
| 166 |
|
| 167 |
if 'encuesta_completada' in st.session_state and st.session_state.encuesta_completada:
|
|
|
|
| 6 |
from dotenv import load_dotenv
|
| 7 |
from docx import Document
|
| 8 |
import base64
|
| 9 |
+
import time
|
| 10 |
|
| 11 |
# Configuraci贸n de la interfaz
|
| 12 |
st.set_page_config(page_title="Boti Asistente", layout="wide")
|
|
|
|
| 93 |
st.session_state.respuestas = {}
|
| 94 |
st.session_state.pregunta_actual = 0
|
| 95 |
st.session_state.preguntas_adicionales = []
|
| 96 |
+
st.session_state.pregunta_adicional_actual = 0
|
| 97 |
|
| 98 |
if st.session_state.pregunta_actual < len(preguntas):
|
| 99 |
pregunta_actual = preguntas[st.session_state.pregunta_actual]
|
|
|
|
| 109 |
respuesta = respuesta_otro
|
| 110 |
|
| 111 |
if st.button("Enviar respuesta", key=f"btn_{st.session_state.pregunta_actual}"):
|
| 112 |
+
with st.spinner('Procesando su respuesta, por favor espere...'):
|
| 113 |
+
st.session_state.respuestas[pregunta_actual['pregunta']] = respuesta
|
| 114 |
|
| 115 |
+
# Obtener respuesta del asistente
|
| 116 |
+
respuesta_asistente = obtener_respuesta(respuesta)
|
| 117 |
+
st.session_state.respuesta_actual = respuesta_asistente
|
| 118 |
|
| 119 |
+
# Verificar si el asistente hace una pregunta adicional
|
| 120 |
+
if "pregunta" in respuesta_asistente.lower() and len(st.session_state.preguntas_adicionales) < 3:
|
| 121 |
+
st.session_state.preguntas_adicionales.append(respuesta_asistente)
|
| 122 |
|
| 123 |
+
# Convertir respuesta a audio
|
| 124 |
+
audio_path = text_to_speech(respuesta_asistente)
|
| 125 |
+
st.session_state.audio_path = audio_path
|
| 126 |
|
| 127 |
+
st.session_state.pregunta_actual += 1
|
| 128 |
+
st.experimental_rerun()
|
| 129 |
else:
|
| 130 |
st.write("Gracias por responder todas las preguntas. Haz clic en 'Registrar Encuesta' para finalizar y generar el archivo descargable.")
|
| 131 |
if st.button("Registrar Encuesta"):
|
|
|
|
| 153 |
# Preguntas adicionales
|
| 154 |
if st.session_state.preguntas_adicionales:
|
| 155 |
st.markdown("<h3>Preguntas Adicionales:</h3>", unsafe_allow_html=True)
|
| 156 |
+
pregunta_adicional_actual = st.session_state.pregunta_adicional_actual
|
| 157 |
+
if pregunta_adicional_actual < len(st.session_state.preguntas_adicionales):
|
| 158 |
+
pregunta_adicional = st.session_state.preguntas_adicionales[pregunta_adicional_actual]
|
| 159 |
+
st.write(f"**Pregunta adicional {pregunta_adicional_actual + 1}:** {pregunta_adicional}")
|
| 160 |
+
respuesta_adicional = st.text_input("Tu respuesta:", key=f"respuesta_adicional_{pregunta_adicional_actual}")
|
| 161 |
+
if st.button("Enviar respuesta adicional", key=f"btn_adicional_{pregunta_adicional_actual}"):
|
| 162 |
+
with st.spinner('Procesando su respuesta, por favor espere...'):
|
| 163 |
st.session_state.respuestas[pregunta_adicional] = respuesta_adicional
|
| 164 |
respuesta_asistente = obtener_respuesta(respuesta_adicional)
|
| 165 |
st.session_state.respuesta_actual = respuesta_asistente
|
|
|
|
| 167 |
audio_path = text_to_speech(respuesta_asistente)
|
| 168 |
st.session_state.audio_path = audio_path
|
| 169 |
|
| 170 |
+
st.session_state.pregunta_adicional_actual += 1
|
| 171 |
st.experimental_rerun()
|
| 172 |
|
| 173 |
if 'encuesta_completada' in st.session_state and st.session_state.encuesta_completada:
|