Segizu commited on
Commit
cc12747
·
1 Parent(s): 9abaea2

Chatbot creation

Browse files
Files changed (2) hide show
  1. app.py +38 -0
  2. utils.py +19 -0
app.py ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ from utils import get_bot_response
3
+
4
+ # Configuración de la página
5
+ st.set_page_config(page_title="Chatbot de Servicios Digitales", layout="centered")
6
+
7
+ # Título de la app
8
+ st.title("Chatbot de Servicios Digitales")
9
+ 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.")
10
+
11
+ # Inicializar el historial de chat en la sesión
12
+ if "chat_history" not in st.session_state:
13
+ st.session_state.chat_history = []
14
+
15
+ # Función para mostrar el historial de mensajes
16
+ def display_chat():
17
+ for chat in st.session_state.chat_history:
18
+ if chat["role"] == "user":
19
+ st.markdown(f"**Tú:** {chat['message']}")
20
+ else:
21
+ st.markdown(f"**Bot:** {chat['message']}")
22
+
23
+ # Mostrar la conversación previa
24
+ display_chat()
25
+
26
+ # Formulario para enviar nuevos mensajes
27
+ with st.form(key="chat_form", clear_on_submit=True):
28
+ user_input = st.text_input("Escribe tu mensaje aquí:")
29
+ submit_button = st.form_submit_button(label="Enviar")
30
+
31
+ if submit_button and user_input:
32
+ # Agregar mensaje del usuario al historial
33
+ st.session_state.chat_history.append({"role": "user", "message": user_input})
34
+ # Obtener respuesta del bot desde utils.py
35
+ bot_response = get_bot_response(user_input)
36
+ st.session_state.chat_history.append({"role": "bot", "message": bot_response})
37
+ # Recargar la app para actualizar el historial
38
+ st.experimental_rerun()
utils.py ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ def get_bot_response(user_message: str) -> str:
2
+ """
3
+ Función que recibe el mensaje del usuario y devuelve una respuesta del chatbot.
4
+ La lógica se basa en identificar palabras clave relacionadas con tus servicios.
5
+ """
6
+ message = user_message.lower()
7
+
8
+ if "web" in message or "sitio" in message:
9
+ return "¡Claro! Desarrollo sitios web personalizados, optimizados y responsivos para potenciar tu negocio."
10
+ elif "app" in message or "móvil" in message or "mobile" in message:
11
+ return "¡Por supuesto! Creo aplicaciones móviles con una experiencia de usuario excepcional y alto rendimiento."
12
+ elif "ia" in message or "inteligencia artificial" in message:
13
+ return "La inteligencia artificial puede transformar procesos. ¿Te gustaría explorar cómo implementarla en tu proyecto?"
14
+ elif "power bi" in message or "insights" in message:
15
+ return "Power BI es una herramienta potente para convertir datos en insights. ¿Quieres saber más sobre cómo podemos aprovecharla?"
16
+ elif "hola" in message or "buenos días" in message or "saludos" in message:
17
+ return "¡Hola! ¿En qué puedo ayudarte hoy?"
18
+ else:
19
+ return "Gracias por tu mensaje. ¿Podrías darme más detalles o especificar en qué área estás interesado?"