quiero una aplicacion que sea una interfaz de chat entre un usuario y una computadora
To upload files, please first save the app
import streamlit as st
import random
import time
st.title("Chat con la Computadora 💻")
# Función para generar respuestas
def get_computer_response(user_message):
responses = [
"¡Interesante! Cuéntame más sobre eso.",
"Entiendo lo que dices. ¿Qué más te gustarÃa compartir?",
"Esa es una perspectiva interesante.",
"¿PodrÃas elaborar un poco más sobre eso?",
"¡Fascinante! ¿Cómo llegaste a esa conclusión?",
"Me parece muy interesante tu punto de vista.",
"¿Y qué piensas hacer al respecto?",
"¡Gracias por compartir eso conmigo!",
"Eso suena muy bien. ¿Hay algo más que quieras discutir?",
"Interesante perspectiva. ¿Qué te llevó a pensar en eso?"
]
return random.choice(responses)
# Inicializar el historial del chat
if "messages" not in st.session_state:
st.session_state.messages = []
# Mostrar mensajes del historial
for message in st.session_state.messages:
with st.chat_message(message["role"]):
st.markdown(message["content"])
# Input del usuario
if prompt := st.chat_input("Escribe tu mensaje aquÃ..."):
# Agregar mensaje del usuario al historial
st.session_state.messages.append({"role": "user", "content": prompt})
with st.chat_message("user"):
st.markdown(prompt)
# Generar y mostrar respuesta de la computadora
with st.chat_message("assistant"):
computer_response = get_computer_response(prompt)
# Simular escritura en tiempo real
message_placeholder = st.empty()
full_response = ""
for chunk in computer_response.split():
full_response += chunk + " "
message_placeholder.markdown(full_response + "▌")
time.sleep(0.05)
message_placeholder.markdown(full_response)
# Agregar respuesta de la computadora al historial
st.session_state.messages.append({"role": "assistant", "content": computer_response})
Hi! I can help you with any questions about Streamlit and Python. What would you like to know?