Spaces:
Runtime error
Runtime error
Upload app.py
Browse files
app.py
CHANGED
@@ -99,6 +99,28 @@ Analizaré tu audiencia, identificaré los beneficios clave y crearé TRES propu
|
|
99 |
**¡Comencemos!** Comparte los detalles de tu producto/servicio y audiencia objetivo.
|
100 |
"""
|
101 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
102 |
# Create a data/ folder if it doesn't already exist
|
103 |
try:
|
104 |
os.mkdir('data/')
|
@@ -222,11 +244,12 @@ if prompt := st.chat_input('¿En qué puedo ayudarte hoy?'):
|
|
222 |
|
223 |
# Si es el primer mensaje, mostrar el mensaje de bienvenida
|
224 |
if is_first_message:
|
225 |
-
|
|
|
226 |
|
227 |
st.session_state.messages.append({
|
228 |
'role': MODEL_ROLE,
|
229 |
-
'content':
|
230 |
'avatar': AI_AVATAR_ICON,
|
231 |
})
|
232 |
|
@@ -248,27 +271,8 @@ if prompt := st.chat_input('¿En qué puedo ayudarte hoy?'):
|
|
248 |
for chunk in response:
|
249 |
full_text += chunk.text
|
250 |
|
251 |
-
#
|
252 |
-
|
253 |
-
with st.chat_message(name=MODEL_ROLE, avatar=AI_AVATAR_ICON):
|
254 |
-
message_placeholder = st.empty()
|
255 |
-
full_response = ''
|
256 |
-
|
257 |
-
# Indicador de escritura
|
258 |
-
typing_indicator = st.empty()
|
259 |
-
typing_indicator.markdown("*Estoy analizando tu información...*")
|
260 |
-
|
261 |
-
# Mostrar respuesta por fragmentos
|
262 |
-
for palabra in mensaje.split(' '):
|
263 |
-
full_response += palabra + ' '
|
264 |
-
time.sleep(velocidad)
|
265 |
-
message_placeholder.write(full_response + '▌')
|
266 |
-
|
267 |
-
# Eliminar indicador y mostrar respuesta completa
|
268 |
-
typing_indicator.empty()
|
269 |
-
message_placeholder.write(mensaje)
|
270 |
-
|
271 |
-
return mensaje
|
272 |
|
273 |
# Añadir respuesta al historial
|
274 |
st.session_state.messages.append({
|
|
|
99 |
**¡Comencemos!** Comparte los detalles de tu producto/servicio y audiencia objetivo.
|
100 |
"""
|
101 |
|
102 |
+
# Función para mostrar texto con efecto de escritura
|
103 |
+
def mostrar_con_efecto_escritura(mensaje, velocidad=0.1):
|
104 |
+
with st.chat_message(name=MODEL_ROLE, avatar=AI_AVATAR_ICON):
|
105 |
+
message_placeholder = st.empty()
|
106 |
+
full_response = ''
|
107 |
+
|
108 |
+
# Indicador de escritura
|
109 |
+
typing_indicator = st.empty()
|
110 |
+
typing_indicator.markdown("*Estoy analizando tu información...*")
|
111 |
+
|
112 |
+
# Mostrar respuesta por fragmentos
|
113 |
+
for palabra in mensaje.split(' '):
|
114 |
+
full_response += palabra + ' '
|
115 |
+
time.sleep(velocidad)
|
116 |
+
message_placeholder.write(full_response + '▌')
|
117 |
+
|
118 |
+
# Eliminar indicador y mostrar respuesta completa
|
119 |
+
typing_indicator.empty()
|
120 |
+
message_placeholder.write(mensaje)
|
121 |
+
|
122 |
+
return mensaje
|
123 |
+
|
124 |
# Create a data/ folder if it doesn't already exist
|
125 |
try:
|
126 |
os.mkdir('data/')
|
|
|
244 |
|
245 |
# Si es el primer mensaje, mostrar el mensaje de bienvenida
|
246 |
if is_first_message:
|
247 |
+
with st.chat_message(name=MODEL_ROLE, avatar=AI_AVATAR_ICON):
|
248 |
+
st.markdown(WELCOME_MESSAGE)
|
249 |
|
250 |
st.session_state.messages.append({
|
251 |
'role': MODEL_ROLE,
|
252 |
+
'content': WELCOME_MESSAGE,
|
253 |
'avatar': AI_AVATAR_ICON,
|
254 |
})
|
255 |
|
|
|
271 |
for chunk in response:
|
272 |
full_text += chunk.text
|
273 |
|
274 |
+
# Mostrar respuesta del asistente con efecto de escritura
|
275 |
+
mensaje_mostrado = mostrar_con_efecto_escritura(full_text)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
276 |
|
277 |
# Añadir respuesta al historial
|
278 |
st.session_state.messages.append({
|