Creando un Agente con Herramientas

Agentes de IA con Hugging Face smolagents

Adel Nehme

VP of AI Curriculum, DataCamp

Creando un Agente de Código (Sin Herramientas)

from smolagents import CodeAgent, InferenceClientModel

agent = CodeAgent(
    tools=[],
    model=InferenceClientModel()
)

agent.run("Calcula el promedio de la lista [23, 45, 67, 89]")
Ejecutando código:
  numbers = [23, 45, 67, 89]                                                                               
  average = sum(numbers) / len(numbers)                                                                            
  final_answer(average)                                                                                             
Respuesta final: 56.0
[Paso 1: Duración 4.14 segundos| Tokens de entrada: 1,900 | Tokens de salida: 109]
56.0
Agentes de IA con Hugging Face smolagents

¿Por Qué Usar Herramientas con Agentes de Código?

El agente que definimos ya puede resolver muchas tareas usando:

  • Un modelo LLM
  • Código Python

Pero también puede necesitar acceso a información externa:

  • Ejemplo: datos web en vivo

¡Ahí es donde entran las herramientas!

Agentes de IA con Hugging Face smolagents

Añadiendo una Herramienta de Búsqueda Web

from smolagents import CodeAgent, InferenceClientModel, WebSearchTool

agent = CodeAgent(
    model=InferenceClientModel(),
    tools=[WebSearchTool()]
)
Agentes de IA con Hugging Face smolagents

Agente de Código con Salida de Búsqueda Web

agent.run("¿Cuál es el edificio más alto del mundo ahora?")
Ejecutando código:
  tallest_building_info = web_search("tallest building in the world 2023")                                
  print(tallest_building_info)                                                                                

# Resultados de búsqueda omitidos por brevedad...

Ejecutando código: 
  final_answer("Burj Khalifa, Dubái, 828 metros")                                                              
Respuesta final: Burj Khalifa, Dubái, 828 metros
[Paso 2: Duración 2.97 segundos| Tokens de entrada: 5,078 | Tokens de salida: 153]
Burj Khalifa, Dubái, 828 metros
Agentes de IA con Hugging Face smolagents

Herramientas Integradas (por Categoría)

Categoría Herramientas
Recuperación de Información ApiWebSearchTool, DuckDuckGoSearchTool, GoogleSearchTool, WebSearchTool, WikipediaSearchTool
Interacción Web VisitWebpageTool
Ejecución de Código PythonInterpreterTool
Interacción con Usuario UserInputTool
Procesamiento de Voz SpeechToTextTool
Control de Flujo FinalAnswerTool
1 https://huggingface.co/docs/smolagents/main/en/reference/default_tools
Agentes de IA con Hugging Face smolagents

Herramientas del Hugging Face Hub

Agentes de IA con Hugging Face smolagents

Usando Herramientas de la Comunidad de Hugging Face

from smolagents import load_tool

# Cargar herramienta remota de Hugging Face
model_downloads_tool = load_tool(
    repo_id="example-repo/hf-model-downloads",
    trust_remote_code=True
)

# Crear agente con herramientas remotas + integradas
agent = CodeAgent(
    tools=[model_downloads_tool, WebSearchTool()],
    model=InferenceClientModel()
)

agent.run("Encuentra el modelo de clasificación de imágenes más descargado en Hugging Face")
google/vit-base-patch16-224-in21k
Agentes de IA con Hugging Face smolagents

¡Vamos a practicar!

Agentes de IA con Hugging Face smolagents

Preparing Video For Download...