geronimo-pericoli commited on
Commit
e313929
·
verified ·
1 Parent(s): 5fa57c1

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +46 -19
app.py CHANGED
@@ -252,9 +252,9 @@ async def search_tavily(
252
 
253
 
254
  # Configuración de la interfaz Gradio
255
- demo = gr.TabbedInterface(
256
- [
257
- gr.Interface(
258
  fn=search_arxiv,
259
  inputs=[
260
  gr.Textbox(label="Términos de búsqueda", placeholder="Ej: deep learning"),
@@ -262,18 +262,20 @@ demo = gr.TabbedInterface(
262
  ],
263
  outputs=gr.JSON(label="Resultados de búsqueda"),
264
  title="Búsqueda en ArXiv",
265
- description="Busca artículos académicos en ArXiv por palabras clave.",
266
- api_name="_search_arxiv"
267
- ),
268
- gr.Interface(
 
269
  fn=list_retrievers,
270
  inputs=gr.Textbox(label="Fuente (opcional)", placeholder="Dejar vacío para listar todos"),
271
  outputs=gr.JSON(label="Lista de retrievers"),
272
  title="Lista de Retrievers",
273
- description="Muestra los retrievers disponibles, opcionalmente filtrados por fuente.",
274
- api_name="_list_retrievers"
275
- ),
276
- gr.Interface(
 
277
  fn=search_tavily,
278
  inputs=[
279
  gr.Textbox(label="Consulta de búsqueda", placeholder="Ej: últimas noticias sobre IA"),
@@ -283,15 +285,40 @@ demo = gr.TabbedInterface(
283
  ],
284
  outputs=gr.JSON(label="Resultados de Tavily"),
285
  title="Búsqueda Web (Tavily)",
286
- description="Realiza búsquedas en web usando la API de Tavily.",
287
- api_name="_search_tavily"
 
 
 
 
 
 
 
 
288
  )
289
- ],
290
- [
291
- "Búsqueda ArXiv",
292
- "Lista de Retrievers",
293
- "Búsqueda Web (Tavily)"
294
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
295
  )
296
 
297
  demo.launch(mcp_server=True)
 
252
 
253
 
254
  # Configuración de la interfaz Gradio
255
+ with gr.Blocks(title="Herramientas MCP") as tools_tab:
256
+ with gr.Accordion("Búsqueda Académica", open=False):
257
+ arxiv_interface = gr.Interface(
258
  fn=search_arxiv,
259
  inputs=[
260
  gr.Textbox(label="Términos de búsqueda", placeholder="Ej: deep learning"),
 
262
  ],
263
  outputs=gr.JSON(label="Resultados de búsqueda"),
264
  title="Búsqueda en ArXiv",
265
+ description="Busca artículos académicos en ArXiv por palabras clave."
266
+ )
267
+
268
+ with gr.Accordion("Retrievers", open=False):
269
+ retrievers_interface = gr.Interface(
270
  fn=list_retrievers,
271
  inputs=gr.Textbox(label="Fuente (opcional)", placeholder="Dejar vacío para listar todos"),
272
  outputs=gr.JSON(label="Lista de retrievers"),
273
  title="Lista de Retrievers",
274
+ description="Muestra los retrievers disponibles, opcionalmente filtrados por fuente."
275
+ )
276
+
277
+ with gr.Accordion("Búsqueda Web", open=False):
278
+ tavily_interface = gr.Interface(
279
  fn=search_tavily,
280
  inputs=[
281
  gr.Textbox(label="Consulta de búsqueda", placeholder="Ej: últimas noticias sobre IA"),
 
285
  ],
286
  outputs=gr.JSON(label="Resultados de Tavily"),
287
  title="Búsqueda Web (Tavily)",
288
+ description="Realiza búsquedas en web usando la API de Tavily."
289
+ )
290
+
291
+ with gr.Accordion("HuggingFace Spaces", open=False):
292
+ spaces_interface = gr.Interface(
293
+ fn=list_spaces_names,
294
+ inputs=None,
295
+ outputs=gr.JSON(label="Lista de Spaces"),
296
+ title="Lista de Spaces",
297
+ description="Obtiene una lista simplificada con los nombres y descripciones de todos los spaces disponibles."
298
  )
299
+
300
+ context_interface = gr.Interface(
301
+ fn=query_context,
302
+ inputs=[
303
+ gr.Textbox(label="Nombre del Space", placeholder="Ej: mi-space"),
304
+ gr.Textbox(label="Consulta", placeholder="Ingrese su pregunta o consulta"),
305
+ gr.Textbox(label="API Name", value="/get_context_only", visible=False)
306
+ ],
307
+ outputs=gr.JSON(label="Contexto obtenido"),
308
+ title="Obtener Contexto",
309
+ description="Obtiene SOLO el contexto relevante para una consulta desde un Space especializado."
310
+ )
311
+
312
+ # Creamos el Agente MCP (puedes personalizar esto según necesites)
313
+ with gr.Blocks(title="Agente MCP") as agent_tab:
314
+ gr.Markdown("# Interfaz del Agente MCP")
315
+ gr.Markdown("Aquí iría la interfaz principal del agente con sus funcionalidades completas")
316
+ # Aquí puedes agregar los componentes específicos del agente
317
+
318
+ # Creamos la interfaz con las dos pestañas principales
319
+ demo = gr.TabbedInterface(
320
+ [agent_tab, tools_tab],
321
+ ["Agente MCP", "Tools MCP"]
322
  )
323
 
324
  demo.launch(mcp_server=True)