Spaces:
Sleeping
Sleeping
Upload 12 files
Browse files
app.py
CHANGED
@@ -73,35 +73,18 @@ def get_enhanced_prompt(prompt, is_example):
|
|
73 |
return f"El usuario ha seleccionado un ejemplo: '{prompt}'. Responde de manera conversacional y sencilla, como si estuvieras hablando con un amigo. Evita tecnicismos innecesarios. Enfócate en dar información práctica que ayude al usuario a crear su PUV. Usa ejemplos concretos cuando sea posible. Termina tu respuesta con una pregunta que invite al usuario a compartir información sobre su negocio para poder ayudarle a crear su PUV personalizada."
|
74 |
return prompt
|
75 |
|
76 |
-
|
77 |
-
"""Procesa la respuesta del modelo"""
|
78 |
-
with st.chat_message(MODEL_ROLE, avatar=AI_AVATAR_ICON):
|
79 |
-
try:
|
80 |
-
message_placeholder = st.empty()
|
81 |
-
typing_indicator = st.empty()
|
82 |
-
typing_indicator.markdown("*Generando respuesta...*")
|
83 |
-
|
84 |
-
response = state.send_message(enhanced_prompt)
|
85 |
-
full_response = stream_response(response, message_placeholder, typing_indicator)
|
86 |
-
|
87 |
-
# Actualizar historial
|
88 |
-
state.add_message(role=MODEL_ROLE, content=full_response, avatar=AI_AVATAR_ICON)
|
89 |
-
state.gemini_history = state.chat.history
|
90 |
-
state.save_chat_history()
|
91 |
-
|
92 |
-
except Exception as e:
|
93 |
-
st.error(f"Error: {str(e)}")
|
94 |
|
95 |
def stream_response(response, message_placeholder, typing_indicator):
|
96 |
"""Maneja el streaming de la respuesta"""
|
97 |
full_response = ''
|
98 |
try:
|
|
|
99 |
for chunk in response:
|
100 |
if chunk.text:
|
101 |
for ch in chunk.text:
|
102 |
full_response += ch
|
103 |
time.sleep(0.01)
|
104 |
-
typing_indicator.markdown("*Generando respuesta...*")
|
105 |
message_placeholder.markdown(full_response + '▌')
|
106 |
except Exception as e:
|
107 |
st.error(f"Error en el streaming: {str(e)}")
|
@@ -277,3 +260,10 @@ if state.has_prompt():
|
|
277 |
process_message(prompt, is_example=True)
|
278 |
# Limpiar el prompt
|
279 |
state.clear_prompt()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
73 |
return f"El usuario ha seleccionado un ejemplo: '{prompt}'. Responde de manera conversacional y sencilla, como si estuvieras hablando con un amigo. Evita tecnicismos innecesarios. Enfócate en dar información práctica que ayude al usuario a crear su PUV. Usa ejemplos concretos cuando sea posible. Termina tu respuesta con una pregunta que invite al usuario a compartir información sobre su negocio para poder ayudarle a crear su PUV personalizada."
|
74 |
return prompt
|
75 |
|
76 |
+
# Eliminar la función process_model_response() ya que no se usa
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
77 |
|
78 |
def stream_response(response, message_placeholder, typing_indicator):
|
79 |
"""Maneja el streaming de la respuesta"""
|
80 |
full_response = ''
|
81 |
try:
|
82 |
+
typing_indicator.markdown("*Escribiendo respuesta...*")
|
83 |
for chunk in response:
|
84 |
if chunk.text:
|
85 |
for ch in chunk.text:
|
86 |
full_response += ch
|
87 |
time.sleep(0.01)
|
|
|
88 |
message_placeholder.markdown(full_response + '▌')
|
89 |
except Exception as e:
|
90 |
st.error(f"Error en el streaming: {str(e)}")
|
|
|
260 |
process_message(prompt, is_example=True)
|
261 |
# Limpiar el prompt
|
262 |
state.clear_prompt()
|
263 |
+
|
264 |
+
def handle_error(error, message="Error"):
|
265 |
+
"""Maneja errores de manera consistente"""
|
266 |
+
error_msg = f"{message}: {str(error)}"
|
267 |
+
st.error(error_msg)
|
268 |
+
print(error_msg) # También registrar en la consola
|
269 |
+
return error_msg
|