Spaces:
Running
Running
Upload app.py
Browse files
app.py
CHANGED
@@ -16,16 +16,8 @@ try:
|
|
16 |
load_css(css_path)
|
17 |
except Exception as e:
|
18 |
print(f"Error al cargar CSS: {e}")
|
19 |
-
#
|
20 |
-
st.markdown(
|
21 |
-
<style>
|
22 |
-
.robocopy-title {
|
23 |
-
color: #4ECDC4 !important;
|
24 |
-
font-weight: bold;
|
25 |
-
font-size: 2em;
|
26 |
-
}
|
27 |
-
</style>
|
28 |
-
""", unsafe_allow_html=True)
|
29 |
|
30 |
load_dotenv()
|
31 |
GOOGLE_API_KEY=os.environ.get('GOOGLE_API_KEY')
|
@@ -36,12 +28,8 @@ MODEL_ROLE = 'ai'
|
|
36 |
AI_AVATAR_ICON = '🤖' # Cambia el emoji por uno de robot para coincidir con tu logo
|
37 |
USER_AVATAR_ICON = '👤' # Añade un avatar para el usuario
|
38 |
|
39 |
-
#
|
40 |
-
|
41 |
-
os.mkdir('data/')
|
42 |
-
except:
|
43 |
-
# data/ folder already exists
|
44 |
-
pass
|
45 |
|
46 |
# Load past chats (if available)
|
47 |
try:
|
@@ -109,27 +97,19 @@ for message in st.session_state.messages:
|
|
109 |
if prompt := st.chat_input('¿En qué puedo ayudarte hoy?'): # Mensaje más amigable
|
110 |
# Save this as a chat for later
|
111 |
if st.session_state.chat_id not in past_chats.keys():
|
112 |
-
#
|
113 |
-
# Primero, guardamos un título temporal
|
114 |
temp_title = f'SesiónChat-{st.session_state.chat_id}'
|
115 |
past_chats[st.session_state.chat_id] = temp_title
|
116 |
|
117 |
-
# Generamos un título basado en el contenido del mensaje
|
118 |
try:
|
119 |
-
# Usamos el mismo modelo para generar un título corto
|
120 |
title_generator = genai.GenerativeModel('gemini-2.0-flash')
|
121 |
title_response = title_generator.generate_content(
|
122 |
f"Genera un título corto (máximo 5 palabras) que describa de qué trata esta consulta, sin usar comillas ni puntuación: '{prompt}'")
|
123 |
|
124 |
-
# Obtenemos el título generado
|
125 |
generated_title = title_response.text.strip()
|
126 |
-
|
127 |
-
# Actualizamos el título en past_chats
|
128 |
if generated_title:
|
129 |
st.session_state.chat_title = generated_title
|
130 |
past_chats[st.session_state.chat_id] = generated_title
|
131 |
-
else:
|
132 |
-
st.session_state.chat_title = temp_title
|
133 |
except Exception as e:
|
134 |
print(f"Error al generar título: {e}")
|
135 |
st.session_state.chat_title = temp_title
|
@@ -198,4 +178,8 @@ if prompt := st.chat_input('¿En qué puedo ayudarte hoy?'): # Mensaje más ami
|
|
198 |
joblib.dump(
|
199 |
st.session_state.gemini_history,
|
200 |
f'data/{st.session_state.chat_id}-gemini_messages',
|
201 |
-
)
|
|
|
|
|
|
|
|
|
|
16 |
load_css(css_path)
|
17 |
except Exception as e:
|
18 |
print(f"Error al cargar CSS: {e}")
|
19 |
+
# Usar un estilo mínimo en caso de error
|
20 |
+
st.markdown('<style>.robocopy-title {color: #4ECDC4;}</style>', unsafe_allow_html=True)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
|
22 |
load_dotenv()
|
23 |
GOOGLE_API_KEY=os.environ.get('GOOGLE_API_KEY')
|
|
|
28 |
AI_AVATAR_ICON = '🤖' # Cambia el emoji por uno de robot para coincidir con tu logo
|
29 |
USER_AVATAR_ICON = '👤' # Añade un avatar para el usuario
|
30 |
|
31 |
+
# Crear directorio data/ si no existe
|
32 |
+
os.makedirs('data/', exist_ok=True)
|
|
|
|
|
|
|
|
|
33 |
|
34 |
# Load past chats (if available)
|
35 |
try:
|
|
|
97 |
if prompt := st.chat_input('¿En qué puedo ayudarte hoy?'): # Mensaje más amigable
|
98 |
# Save this as a chat for later
|
99 |
if st.session_state.chat_id not in past_chats.keys():
|
100 |
+
# Definir el título temporal una sola vez
|
|
|
101 |
temp_title = f'SesiónChat-{st.session_state.chat_id}'
|
102 |
past_chats[st.session_state.chat_id] = temp_title
|
103 |
|
|
|
104 |
try:
|
|
|
105 |
title_generator = genai.GenerativeModel('gemini-2.0-flash')
|
106 |
title_response = title_generator.generate_content(
|
107 |
f"Genera un título corto (máximo 5 palabras) que describa de qué trata esta consulta, sin usar comillas ni puntuación: '{prompt}'")
|
108 |
|
|
|
109 |
generated_title = title_response.text.strip()
|
|
|
|
|
110 |
if generated_title:
|
111 |
st.session_state.chat_title = generated_title
|
112 |
past_chats[st.session_state.chat_id] = generated_title
|
|
|
|
|
113 |
except Exception as e:
|
114 |
print(f"Error al generar título: {e}")
|
115 |
st.session_state.chat_title = temp_title
|
|
|
178 |
joblib.dump(
|
179 |
st.session_state.gemini_history,
|
180 |
f'data/{st.session_state.chat_id}-gemini_messages',
|
181 |
+
)
|
182 |
+
if st.session_state.show_examples and not st.session_state.messages:
|
183 |
+
st.title("💡 RoboCopy - Tu Experto en PUVs")
|
184 |
+
st.markdown("### Creando Propuestas Únicas de Valor que Convierten Visitantes en Clientes")
|
185 |
+
st.markdown("### 🎯 Prueba estos ejemplos:")
|