Josedcape commited on
Commit
0ca4e92
·
verified ·
1 Parent(s): 1bbeb2e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +50 -18
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. 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
- "¿Cual 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,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
- for pregunta in preguntas:
 
 
 
 
91
  st.write(f"**Pregunta:** {pregunta}")
92
  capturar_voz()
93
- respuesta = st.text_input(f"Respuesta a: {pregunta}", key=pregunta)
94
- if st.button("Enviar respuesta", key=f"btn_{pregunta}"):
95
- respuestas[pregunta] = respuesta
96
- st.success("Respuesta registrada.")
97
-
98
- if st.button("Finalizar Encuesta"):
99
- st.session_state.encuesta_respuestas = respuestas
100
- st.success("Encuesta completada exitosamente.")
101
-
102
- if 'encuesta_respuestas' in st.session_state:
103
- st.write("### Respuestas de la Encuesta")
104
- for pregunta, respuesta in st.session_state.encuesta_respuestas.items():
105
- st.write(f"**{pregunta}:** {respuesta}")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
106
 
107
  # Función para incrustar video
108
  def incrustar_video():
109
- video_url = "file:///C:/Users/Usuario/Downloads/google-oauth2_104593194230690392351_prj_tlk_yulwrtpv-pSnD1SAJlO6j_result%20(1).mp4"
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