Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -252,9 +252,9 @@ async def search_tavily(
|
|
| 252 |
|
| 253 |
|
| 254 |
# Configuración de la interfaz Gradio
|
| 255 |
-
|
| 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 |
-
|
| 267 |
-
|
| 268 |
-
|
|
|
|
| 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 |
-
|
| 275 |
-
|
| 276 |
-
|
|
|
|
| 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 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 288 |
)
|
| 289 |
-
|
| 290 |
-
|
| 291 |
-
|
| 292 |
-
|
| 293 |
-
|
| 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)
|