borjasoutoprego commited on
Commit
c285f9c
·
verified ·
1 Parent(s): 9288c98

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +12 -23
app.py CHANGED
@@ -91,7 +91,7 @@ model = HfApiModel(
91
  agent = CodeAgent(
92
  model=model,
93
  tools=[sentiment_analysis, emotion_detection, user_profile_update, final_answer],
94
- max_steps=10, # Aumentado para permitir más pasos
95
  verbosity_level=1,
96
  grammar=None,
97
  planning_interval=None,
@@ -100,39 +100,28 @@ agent = CodeAgent(
100
  prompt_templates=prompt_templates
101
  )
102
 
103
- # Memoria temporal para la conversación actual
104
- conversation_memory = {}
105
-
106
  # Función para interactuar con el agente
107
- def interact_with_agent(messages, user_id="default_user"):
108
  """Función que interactúa con el agente y devuelve una respuesta."""
109
- global conversation_memory # Declarar conversation_memory como global
110
-
111
  try:
112
- # Obtener el historial de la conversación actual (o crear uno nuevo si no existe)
113
- if user_id not in conversation_memory:
114
- conversation_memory[user_id] = []
115
-
116
- # Añadir el nuevo mensaje del usuario al historial
117
- conversation_memory[user_id].append({"role": "user", "content": messages[-1]["content"]})
118
 
119
- # Ejecutar el agente con el historial completo
120
- result = agent.run(conversation_memory[user_id])
121
 
122
- print("RESULT!!!!!!!!", result)
123
-
124
- # Añadir la respuesta del agente al historial
125
- conversation_memory[user_id].append({"role": "assistant", "content": result})
126
-
127
- # Devolver la respuesta del agente
128
- return {"response": result}
129
  except Exception as e:
130
  return {"response": f"Error: {str(e)}"}
131
 
132
  # Crear la interfaz de Gradio
133
  iface = gr.Interface(
134
  fn=interact_with_agent,
135
- inputs=[gr.JSON(), gr.Textbox(label="User ID", value="default_user")], # Acepta un JSON y un User ID
136
  outputs=gr.JSON(), # Devuelve un JSON como salida
137
  title="Emotional Support Agent",
138
  description="Un agente de IA que ofrece apoyo emocional y crecimiento personal.",
 
91
  agent = CodeAgent(
92
  model=model,
93
  tools=[sentiment_analysis, emotion_detection, user_profile_update, final_answer],
94
+ max_steps=3, # Aumentado para permitir más pasos
95
  verbosity_level=1,
96
  grammar=None,
97
  planning_interval=None,
 
100
  prompt_templates=prompt_templates
101
  )
102
 
 
 
 
103
  # Función para interactuar con el agente
104
+ def interact_with_agent(messages):
105
  """Función que interactúa con el agente y devuelve una respuesta."""
 
 
106
  try:
107
+ # Extraer la pregunta del usuario
108
+ user_input = messages[-1]["content"]
 
 
 
 
109
 
110
+ # Ejecutar el agente con la pregunta del usuario
111
+ result = agent.run(user_input)
112
 
113
+ # Verificar si result es una cadena de texto no vacía
114
+ if result and isinstance(result, str):
115
+ return {"response": result} # Devuelve un JSON con la respuesta
116
+ else:
117
+ return {"response": "El agente no devolvió una respuesta válida."}
 
 
118
  except Exception as e:
119
  return {"response": f"Error: {str(e)}"}
120
 
121
  # Crear la interfaz de Gradio
122
  iface = gr.Interface(
123
  fn=interact_with_agent,
124
+ inputs=gr.JSON(), # Acepta un JSON como entrada
125
  outputs=gr.JSON(), # Devuelve un JSON como salida
126
  title="Emotional Support Agent",
127
  description="Un agente de IA que ofrece apoyo emocional y crecimiento personal.",