Josedcape commited on
Commit
0f1cdbe
·
verified ·
1 Parent(s): 7ba2a4d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +81 -23
app.py CHANGED
@@ -8,7 +8,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", initial_sidebar_state="expanded")
12
 
13
  # Cargar variables de entorno
14
  load_dotenv()
@@ -43,18 +43,49 @@ def text_to_speech(text):
43
 
44
  # Función para manejar la encuesta dinámica
45
  def encuesta_asistente():
46
- st.title("Asistente Boti Encuesta")
47
  st.write("Este asistente te guiará a través de una serie de preguntas para ayudarte a configurar tu asistente virtual")
48
 
49
  preguntas = [
50
- "¿Cuál es tu nombre?",
51
- "¿Qué tipo de asistente virtual deseas?",
52
- "¿Qué objetivo debe cumplir este asistente?",
53
- "¿Cuáles son las funciones que debe tener?",
54
- "¿Cómo te gustaría que este asistente te ayude en tus tareas diarias?",
55
- "¿Qué interfaz debería tener este asistente?",
56
- "¿Utilizarías el asistente para aumentar tu tiempo libre o para generar ingresos adicionales?",
57
- "Si pudiera ser un asistente o un chatbot, ¿de qué te gustaría que fuera?"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
58
  ]
59
 
60
  if 'respuestas' not in st.session_state:
@@ -62,11 +93,20 @@ def encuesta_asistente():
62
  st.session_state.pregunta_actual = 0
63
 
64
  if st.session_state.pregunta_actual < len(preguntas):
65
- pregunta = preguntas[st.session_state.pregunta_actual]
66
- st.write(f"**Pregunta:** {pregunta}")
67
- respuesta = st.text_input("Tu respuesta:", key=f"respuesta_{st.session_state.pregunta_actual}")
 
 
 
 
 
 
 
 
 
68
  if st.button("Enviar respuesta", key=f"btn_{st.session_state.pregunta_actual}"):
69
- st.session_state.respuestas[pregunta] = respuesta
70
 
71
  # Obtener respuesta del asistente
72
  respuesta_asistente = obtener_respuesta(respuesta)
@@ -174,6 +214,20 @@ st.markdown(
174
  color: black !important;
175
  background-color: white !important;
176
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
177
  </style>
178
  """,
179
  unsafe_allow_html=True
@@ -184,23 +238,27 @@ def pagina_principal():
184
  st.title("Bienvenido a Boti Asistente")
185
  st.write("Esta es la página principal de Boti Asistente, especializado en el desarrollo de bots para Botidinamics.")
186
  incrustar_video_principal()
187
-
188
- st.experimental_set_query_params(page="asistente")
189
 
190
  def pagina_asistente():
191
  encuesta_asistente()
192
 
193
- # Barra de navegación lateral
194
- st.sidebar.title("Boti Asistente - Botidinamics")
195
- st.sidebar.markdown("Seleccione una opción:")
196
- opciones = ["Página Principal", "Asistente Boti"]
197
- seleccion = st.sidebar.selectbox("Opciones", opciones)
 
 
 
 
 
198
 
199
  def main():
200
  page = st.experimental_get_query_params().get("page", ["principal"])[0]
201
- if seleccion == "Página Principal" or page == "principal":
202
  pagina_principal()
203
- elif seleccion == "Asistente Boti" or page == "asistente":
204
  pagina_asistente()
205
 
206
  if __name__ == "__main__":
 
8
  import base64
9
 
10
  # Configuración de la interfaz
11
+ st.set_page_config(page_title="Boti Asistente", layout="wide")
12
 
13
  # Cargar variables de entorno
14
  load_dotenv()
 
43
 
44
  # Función para manejar la encuesta dinámica
45
  def encuesta_asistente():
46
+ st.title("Asistente Boty Encuesta")
47
  st.write("Este asistente te guiará a través de una serie de preguntas para ayudarte a configurar tu asistente virtual")
48
 
49
  preguntas = [
50
+ {
51
+ "pregunta": "¿Cuál es tu nombre?",
52
+ "tipo": "texto"
53
+ },
54
+ {
55
+ "pregunta": "¿Qué tipo de asistente virtual deseas?",
56
+ "tipo": "multiple",
57
+ "opciones": ["Asistente Personal", "Asistente de Negocios", "Asistente de Salud", "Asistente de Educación", "Otro"]
58
+ },
59
+ {
60
+ "pregunta": "¿Qué objetivo debe cumplir este asistente?",
61
+ "tipo": "multiple",
62
+ "opciones": ["Organización Personal", "Mejora de Productividad", "Asistencia Médica", "Educación y Aprendizaje", "Otro"]
63
+ },
64
+ {
65
+ "pregunta": "¿Cuáles son las funciones que debe tener?",
66
+ "tipo": "multiple",
67
+ "opciones": ["Gestión de Calendarios", "Recordatorios", "Consultas Médicas", "Ayuda con Tareas Escolares", "Otro"]
68
+ },
69
+ {
70
+ "pregunta": "¿Cómo te gustaría que este asistente te ayude en tus tareas diarias?",
71
+ "tipo": "multiple",
72
+ "opciones": ["Planificación de Día", "Recordatorios", "Consultas y Respuestas", "Apoyo Emocional", "Otro"]
73
+ },
74
+ {
75
+ "pregunta": "¿Qué interfaz debería tener este asistente?",
76
+ "tipo": "multiple",
77
+ "opciones": ["Aplicación Móvil", "Aplicación Web", "Asistente de Voz", "Chatbot en Redes Sociales", "Otro"]
78
+ },
79
+ {
80
+ "pregunta": "¿Utilizarías el asistente para aumentar tu tiempo libre o para generar ingresos adicionales?",
81
+ "tipo": "multiple",
82
+ "opciones": ["Aumentar tiempo libre", "Generar ingresos adicionales"]
83
+ },
84
+ {
85
+ "pregunta": "Si pudiera ser un asistente o un chatbot, ¿de qué te gustaría que fuera?",
86
+ "tipo": "multiple",
87
+ "opciones": ["Asistente Personal", "Asistente de Negocios", "Asistente de Salud", "Asistente de Educación", "Otro"]
88
+ }
89
  ]
90
 
91
  if 'respuestas' not in st.session_state:
 
93
  st.session_state.pregunta_actual = 0
94
 
95
  if st.session_state.pregunta_actual < len(preguntas):
96
+ pregunta_actual = preguntas[st.session_state.pregunta_actual]
97
+ st.write(f"**Pregunta:** {pregunta_actual['pregunta']}")
98
+
99
+ if pregunta_actual["tipo"] == "texto":
100
+ respuesta = st.text_input("Tu respuesta:", key=f"respuesta_{st.session_state.pregunta_actual}")
101
+ elif pregunta_actual["tipo"] == "multiple":
102
+ respuesta = st.selectbox("Selecciona una opción:", pregunta_actual["opciones"], key=f"respuesta_{st.session_state.pregunta_actual}")
103
+ if respuesta == "Otro":
104
+ respuesta_otro = st.text_input("Por favor especifica:", key=f"respuesta_otro_{st.session_state.pregunta_actual}")
105
+ if respuesta_otro:
106
+ respuesta = respuesta_otro
107
+
108
  if st.button("Enviar respuesta", key=f"btn_{st.session_state.pregunta_actual}"):
109
+ st.session_state.respuestas[pregunta_actual['pregunta']] = respuesta
110
 
111
  # Obtener respuesta del asistente
112
  respuesta_asistente = obtener_respuesta(respuesta)
 
214
  color: black !important;
215
  background-color: white !important;
216
  }
217
+ .nav-bar {
218
+ background-color: #007bff;
219
+ color: white;
220
+ padding: 10px;
221
+ text-align: center;
222
+ font-size: 24px;
223
+ font-weight: bold;
224
+ }
225
+ .nav-link {
226
+ color: white;
227
+ margin: 0 15px;
228
+ text-decoration: none;
229
+ cursor: pointer;
230
+ }
231
  </style>
232
  """,
233
  unsafe_allow_html=True
 
238
  st.title("Bienvenido a Boti Asistente")
239
  st.write("Esta es la página principal de Boti Asistente, especializado en el desarrollo de bots para Botidinamics.")
240
  incrustar_video_principal()
241
+ st.markdown("<h2 style='text-align: center; color: white;'>Para realizar su encuesta, haga clic en la barra superior</h2>", unsafe_allow_html=True)
 
242
 
243
  def pagina_asistente():
244
  encuesta_asistente()
245
 
246
+ # Barra de navegación superior
247
+ st.markdown(
248
+ """
249
+ <div class="nav-bar">
250
+ <a class="nav-link" href="?page=principal">Página Principal</a>
251
+ <a class="nav-link" href="?page=asistente">Asistente Boti</a>
252
+ </div>
253
+ """,
254
+ unsafe_allow_html=True
255
+ )
256
 
257
  def main():
258
  page = st.experimental_get_query_params().get("page", ["principal"])[0]
259
+ if page == "principal":
260
  pagina_principal()
261
+ elif page == "asistente":
262
  pagina_asistente()
263
 
264
  if __name__ == "__main__":