JeCabrera commited on
Commit
60180b4
·
verified ·
1 Parent(s): b27ecb8

Upload 12 files

Browse files
Files changed (1) hide show
  1. app.py +36 -41
app.py CHANGED
@@ -56,11 +56,14 @@ def process_message(prompt, is_example=False):
56
  # Añadir mensaje del usuario al historial
57
  state.add_message('user', prompt, USER_AVATAR_ICON)
58
 
59
- # Verificar si es un saludo simple y es el primer mensaje
60
  if is_greeting(prompt):
61
  # En lugar de usar una respuesta predefinida, dejamos que el modelo genere su propia respuesta
62
  # pero le damos un contexto específico para que sepa que es un saludo inicial
63
  enhanced_prompt = f"El usuario te ha saludado con '{prompt}'. Responde con un saludo amigable y breve que explique que eres RoboCopy, un asistente para crear Propuestas Únicas de Valor. No uses una plantilla predefinida, sé natural y conversacional."
 
 
 
64
  else:
65
  # Para mensajes normales, usamos el prompt del experto
66
  puv_expert_prompt = get_puv_expert_prompt()
@@ -68,46 +71,38 @@ def process_message(prompt, is_example=False):
68
 
69
  with st.chat_message(MODEL_ROLE, avatar=AI_AVATAR_ICON):
70
  try:
71
- if is_example:
72
- # Para ejemplos, no necesitamos streaming
73
- response = state.chat.send_message(prompt)
74
- st.markdown(response.text)
75
-
76
- # Añadir respuesta al historial
77
- state.add_message(MODEL_ROLE, response.text, AI_AVATAR_ICON)
78
- else:
79
- # Para entrada directa, usamos streaming
80
- response = state.chat.send_message(
81
- enhanced_prompt,
82
- stream=True,
83
- )
84
-
85
- message_placeholder = st.empty()
86
- full_response = ''
87
-
88
- # Añadir indicador de "escribiendo..."
89
- typing_indicator = st.empty()
90
- typing_indicator.markdown("*Generando respuesta...*")
91
-
92
- # Mostrar respuesta por fragmentos
93
- for chunk in response:
94
- for ch in chunk.text:
95
- full_response += ch
96
- time.sleep(0.01)
97
- message_placeholder.write(full_response + '▌')
98
-
99
- # Eliminar indicador de escritura
100
- typing_indicator.empty()
101
-
102
- # Mostrar respuesta completa
103
- message_placeholder.write(full_response)
104
-
105
- # Añadir respuesta al historial
106
- state.add_message(
107
- role=MODEL_ROLE,
108
- content=state.chat.history[-1].parts[0].text,
109
- avatar=AI_AVATAR_ICON,
110
- )
111
 
112
  state.gemini_history = state.chat.history
113
 
 
56
  # Añadir mensaje del usuario al historial
57
  state.add_message('user', prompt, USER_AVATAR_ICON)
58
 
59
+ # Preparar el prompt según el tipo de mensaje
60
  if is_greeting(prompt):
61
  # En lugar de usar una respuesta predefinida, dejamos que el modelo genere su propia respuesta
62
  # pero le damos un contexto específico para que sepa que es un saludo inicial
63
  enhanced_prompt = f"El usuario te ha saludado con '{prompt}'. Responde con un saludo amigable y breve que explique que eres RoboCopy, un asistente para crear Propuestas Únicas de Valor. No uses una plantilla predefinida, sé natural y conversacional."
64
+ elif is_example:
65
+ # Para ejemplos, usamos el prompt directamente sin modificar
66
+ enhanced_prompt = prompt
67
  else:
68
  # Para mensajes normales, usamos el prompt del experto
69
  puv_expert_prompt = get_puv_expert_prompt()
 
71
 
72
  with st.chat_message(MODEL_ROLE, avatar=AI_AVATAR_ICON):
73
  try:
74
+ # Usamos streaming para todos los casos
75
+ response = state.chat.send_message(
76
+ enhanced_prompt,
77
+ stream=True,
78
+ )
79
+
80
+ message_placeholder = st.empty()
81
+ full_response = ''
82
+
83
+ # Añadir indicador de "escribiendo..."
84
+ typing_indicator = st.empty()
85
+ typing_indicator.markdown("*Generando respuesta...*")
86
+
87
+ # Mostrar respuesta por fragmentos
88
+ for chunk in response:
89
+ for ch in chunk.text:
90
+ full_response += ch
91
+ time.sleep(0.01)
92
+ message_placeholder.write(full_response + '▌')
93
+
94
+ # Eliminar indicador de escritura
95
+ typing_indicator.empty()
96
+
97
+ # Mostrar respuesta completa
98
+ message_placeholder.write(full_response)
99
+
100
+ # Añadir respuesta al historial
101
+ state.add_message(
102
+ role=MODEL_ROLE,
103
+ content=state.chat.history[-1].parts[0].text,
104
+ avatar=AI_AVATAR_ICON,
105
+ )
 
 
 
 
 
 
 
 
106
 
107
  state.gemini_history = state.chat.history
108