| import streamlit as st | |
| from utils import get_bot_response | |
| # Configuración de la página | |
| st.set_page_config(page_title="Chatbot de Servicios Digitales", layout="centered") | |
| # Inicializar el historial del chat en la sesión | |
| if "chat_history" not in st.session_state: | |
| st.session_state.chat_history = [] | |
| # Título y mensaje de bienvenida | |
| st.title("Chatbot de Servicios Digitales") | |
| st.write( | |
| "¡Hola! Soy tu asistente virtual. Estoy aquí para ayudarte con servicios de desarrollo web, " | |
| "apps móviles, ideas de IA y análisis con Power BI." | |
| ) | |
| # Campo de texto para ingresar el mensaje del usuario (usando una key para poder manipular su valor) | |
| user_input = st.text_input("Escribe tu mensaje aquí:") | |
| # Botón de envío | |
| if st.button("Enviar"): | |
| if user_input: # Verifica que se haya escrito algo | |
| # Agregar el mensaje del usuario al historial | |
| st.session_state.chat_history.append({ | |
| "role": "user", | |
| "message": user_input | |
| }) | |
| # Obtener respuesta del bot y agregarla al historial | |
| response = get_bot_response(user_input) | |
| st.session_state.chat_history.append({ | |
| "role": "bot", | |
| "message": response | |
| }) | |
| # Forzar la actualización de la interfaz | |
| else: | |
| st.warning("Por favor, ingresa un mensaje.") | |
| # Mostrar el historial actualizado del cha | |
| # | |
| for chat in st.session_state.chat_history: | |
| if chat["role"] == "user": | |
| st.markdown(f"**Tú:** {chat['message']}") | |
| else: | |
| st.markdown(f"**Bot:** {chat['message']}") |