geronimo-pericoli commited on
Commit
8df00df
·
verified ·
1 Parent(s): d91d4b2

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +39 -43
app.py CHANGED
@@ -257,50 +257,46 @@ async def search_tavily(
257
 
258
 
259
 
260
-
261
- with gr.Blocks(title="Herramientas MCP", theme=gr.themes.Base()) as tools_tab:
262
- with gr.Accordion("Búsqueda Académica", open=False):
263
- arxiv_interface = gr.Interface(
264
- fn=search_arxiv,
265
- inputs=[
266
- gr.Textbox(label="Términos de búsqueda", placeholder="Ej: deep learning"),
267
- gr.Slider(1, 10, value=5, step=1, label="Número máximo de resultados")
268
- ],
269
- outputs=gr.JSON(label="Resultados de búsqueda"),
270
- title="Búsqueda en ArXiv",
271
- description="Busca artículos académicos en ArXiv por palabras clave.",
272
- api_name="_search_arxiv"
273
- )
274
-
275
- with gr.Accordion("Retrievers", open=False):
276
- retrievers_interface = gr.Interface(
277
- fn=list_retrievers,
278
- inputs=gr.Textbox(label="Fuente (opcional)", placeholder="Dejar vacío para listar todos"),
279
- outputs=gr.JSON(label="Lista de retrievers"),
280
- title="Lista de Retrievers",
281
- description="Muestra los retrievers disponibles, opcionalmente filtrados por fuente.",
282
- api_name="_list_retrievers"
283
- )
284
-
285
- with gr.Accordion("Búsqueda Web", open=False):
286
- tavily_interface = gr.Interface(
287
- fn=search_tavily,
288
- inputs=[
289
- gr.Textbox(label="Consulta de búsqueda", placeholder="Ej: últimas noticias sobre IA"),
290
- gr.Slider(1, 30, value=7, step=1, label="Últimos N días (0 para sin límite)"),
291
- gr.Slider(1, 10, value=1, step=1, label="Máximo de resultados"),
292
- gr.Checkbox(label="Incluir respuesta directa", value=False)
293
- ],
294
- outputs=gr.JSON(label="Resultados de Tavily"),
295
- title="Búsqueda Web (Tavily)",
296
- description="Realiza búsquedas en web usando la API de Tavily.",
297
- api_name="_search_tavily"
298
- )
299
-
300
- # Creamos la interfaz solo con las herramientas
301
  demo = gr.TabbedInterface(
302
- [tools_tab],
303
- ["Tools MCP"]
304
  )
305
 
306
  demo.launch()
 
257
 
258
 
259
 
260
+ # Gradio interface
261
+ with gr.Blocks(title="Herramientas MCP", theme=gr.themes.Base()) as arxiv_tab:
262
+ arxiv_interface = gr.Interface(
263
+ fn=search_arxiv,
264
+ inputs=[
265
+ gr.Textbox(label="Términos de búsqueda", placeholder="Ej: deep learning"),
266
+ gr.Slider(1, 10, value=5, step=1, label="Número máximo de resultados")
267
+ ],
268
+ outputs=gr.JSON(label="Resultados de búsqueda"),
269
+ title="Búsqueda en ArXiv",
270
+ description="Busca artículos académicos en ArXiv por palabras clave."
271
+ )
272
+
273
+ with gr.Blocks(title="Herramientas MCP", theme=gr.themes.Base()) as retrievers_tab:
274
+ retrievers_interface = gr.Interface(
275
+ fn=list_retrievers,
276
+ inputs=gr.Textbox(label="Fuente (opcional)", placeholder="Dejar vacío para listar todos"),
277
+ outputs=gr.JSON(label="Lista de retrievers"),
278
+ title="Lista de Retrievers",
279
+ description="Muestra los retrievers disponibles, opcionalmente filtrados por fuente."
280
+ )
281
+
282
+ with gr.Blocks(title="Herramientas MCP", theme=gr.themes.Base()) as tavily_tab:
283
+ tavily_interface = gr.Interface(
284
+ fn=search_tavily,
285
+ inputs=[
286
+ gr.Textbox(label="Consulta de búsqueda", placeholder="Ej: últimas noticias sobre IA"),
287
+ gr.Slider(1, 30, value=7, step=1, label="Últimos N días (0 para sin límite)"),
288
+ gr.Slider(1, 10, value=1, step=1, label="Máximo de resultados"),
289
+ gr.Checkbox(label="Incluir respuesta directa", value=False)
290
+ ],
291
+ outputs=gr.JSON(label="Resultados de Tavily"),
292
+ title="Búsqueda Web (Tavily)",
293
+ description="Realiza búsquedas en web usando la API de Tavily."
294
+ )
295
+
296
+ # Creamos la interfaz con las pestañas separadas
 
 
 
 
297
  demo = gr.TabbedInterface(
298
+ [arxiv_tab, retrievers_tab, tavily_tab],
299
+ ["ArXiv", "Retrievers", "Tavily"]
300
  )
301
 
302
  demo.launch()