Chatbot creation
Browse files
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?"
|