Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -73,10 +73,10 @@ def capturar_voz():
|
|
| 73 |
# Función para manejar la encuesta dinámica
|
| 74 |
def encuesta_asistente():
|
| 75 |
st.title("Asistente Boti Encuesta")
|
| 76 |
-
st.write("Este asistente te guiará a través de una serie de preguntas para ayudarte a configurar tu asistente virtual.
|
| 77 |
|
| 78 |
preguntas = [
|
| 79 |
-
"¿
|
| 80 |
"¿Qué tipo de asistente virtual deseas?",
|
| 81 |
"¿Qué objetivo debe cumplir este asistente?",
|
| 82 |
"¿Cuáles son las funciones que debe tener?",
|
|
@@ -86,27 +86,55 @@ def encuesta_asistente():
|
|
| 86 |
"Si pudiera ser un asistente o un chatbot, ¿de qué te gustaría que fuera?"
|
| 87 |
]
|
| 88 |
|
| 89 |
-
respuestas
|
| 90 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 91 |
st.write(f"**Pregunta:** {pregunta}")
|
| 92 |
capturar_voz()
|
| 93 |
-
respuesta = st.text_input(
|
| 94 |
-
if st.button("Enviar respuesta"
|
| 95 |
-
respuestas[pregunta] = respuesta
|
| 96 |
-
st.
|
| 97 |
-
|
| 98 |
-
|
| 99 |
-
st.
|
| 100 |
-
st.
|
| 101 |
-
|
| 102 |
-
|
| 103 |
-
|
| 104 |
-
|
| 105 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 106 |
|
| 107 |
# Función para incrustar video
|
| 108 |
def incrustar_video():
|
| 109 |
-
video_url = "
|
| 110 |
st.markdown(
|
| 111 |
f"""
|
| 112 |
<div style="background-color: silver; padding: 10px;">
|
|
@@ -133,6 +161,10 @@ st.markdown(
|
|
| 133 |
background-color: #000000;
|
| 134 |
color: #ECF0F1;
|
| 135 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
| 136 |
</style>
|
| 137 |
""",
|
| 138 |
unsafe_allow_html=True
|
|
|
|
| 73 |
# Función para manejar la encuesta dinámica
|
| 74 |
def encuesta_asistente():
|
| 75 |
st.title("Asistente Boti Encuesta")
|
| 76 |
+
st.write("Este asistente te guiará a través de una serie de preguntas para ayudarte a configurar tu asistente virtual. Tienes una personalidad amable y entusiasta, interesado en el aprendizaje de quien realiza la encuesta. Llamarlo por su nombre y seguir en el orden especificado el cuestionario de preguntas.")
|
| 77 |
|
| 78 |
preguntas = [
|
| 79 |
+
"¿Cuál es tu nombre?",
|
| 80 |
"¿Qué tipo de asistente virtual deseas?",
|
| 81 |
"¿Qué objetivo debe cumplir este asistente?",
|
| 82 |
"¿Cuáles son las funciones que debe tener?",
|
|
|
|
| 86 |
"Si pudiera ser un asistente o un chatbot, ¿de qué te gustaría que fuera?"
|
| 87 |
]
|
| 88 |
|
| 89 |
+
if 'respuestas' not in st.session_state:
|
| 90 |
+
st.session_state.respuestas = {}
|
| 91 |
+
st.session_state.pregunta_actual = 0
|
| 92 |
+
|
| 93 |
+
if st.session_state.pregunta_actual < len(preguntas):
|
| 94 |
+
pregunta = preguntas[st.session_state.pregunta_actual]
|
| 95 |
st.write(f"**Pregunta:** {pregunta}")
|
| 96 |
capturar_voz()
|
| 97 |
+
respuesta = st.text_input("Tu respuesta:", key="chat_input")
|
| 98 |
+
if st.button("Enviar respuesta"):
|
| 99 |
+
st.session_state.respuestas[pregunta] = respuesta
|
| 100 |
+
st.session_state.pregunta_actual += 1
|
| 101 |
+
st.experimental_rerun()
|
| 102 |
+
else:
|
| 103 |
+
st.write("Gracias por responder todas las preguntas. Haz clic en 'Registrar Encuesta' para finalizar y generar el archivo descargable.")
|
| 104 |
+
if st.button("Registrar Encuesta"):
|
| 105 |
+
st.session_state.encuesta_completada = True
|
| 106 |
+
st.success("Encuesta completada exitosamente. Haz clic en 'Obtener Resultado de la Encuesta' para descargar el archivo.")
|
| 107 |
+
|
| 108 |
+
if 'encuesta_completada' in st.session_state and st.session_state.encuesta_completada:
|
| 109 |
+
if st.button("Obtener Resultado de la Encuesta"):
|
| 110 |
+
generar_documento()
|
| 111 |
+
st.success("Archivo generado exitosamente. Descárgalo y envíalo al promotor de la encuesta de Botidynamics.")
|
| 112 |
+
|
| 113 |
+
def generar_documento():
|
| 114 |
+
if 'respuestas' in st.session_state:
|
| 115 |
+
respuestas = st.session_state.respuestas
|
| 116 |
+
|
| 117 |
+
doc = Document()
|
| 118 |
+
doc.add_heading('Respuestas de la Encuesta', 0)
|
| 119 |
+
|
| 120 |
+
for pregunta, respuesta in respuestas.items():
|
| 121 |
+
doc.add_heading(pregunta, level=1)
|
| 122 |
+
doc.add_paragraph(respuesta)
|
| 123 |
+
|
| 124 |
+
temp_file = tempfile.NamedTemporaryFile(delete=False, suffix=".docx")
|
| 125 |
+
doc.save(temp_file.name)
|
| 126 |
+
|
| 127 |
+
with open(temp_file.name, "rb") as file:
|
| 128 |
+
st.download_button(
|
| 129 |
+
label="Descargar Archivo",
|
| 130 |
+
data=file,
|
| 131 |
+
file_name="resultado_encuesta.docx",
|
| 132 |
+
mime="application/vnd.openxmlformats-officedocument.wordprocessingml.document"
|
| 133 |
+
)
|
| 134 |
|
| 135 |
# Función para incrustar video
|
| 136 |
def incrustar_video():
|
| 137 |
+
video_url = "https://cdn.pika.art/v1/0595a5e2-c0b5-44c2-a73a-993a71c2e0e1/lip_sync.mp4"
|
| 138 |
st.markdown(
|
| 139 |
f"""
|
| 140 |
<div style="background-color: silver; padding: 10px;">
|
|
|
|
| 161 |
background-color: #000000;
|
| 162 |
color: #ECF0F1;
|
| 163 |
}
|
| 164 |
+
h1, h2, h3, h4, h5, h6 {
|
| 165 |
+
color: #FFFFFF;
|
| 166 |
+
font-weight: bold;
|
| 167 |
+
}
|
| 168 |
</style>
|
| 169 |
""",
|
| 170 |
unsafe_allow_html=True
|