Introducción a Agentic RAG

Agentes de IA con Hugging Face smolagents

Adel Nehme

VP of AI Curriculum, DataCamp

Agentic RAG: Recuperación Iterativa + Razonamiento

Agentes de IA con Hugging Face smolagents

Herramientas Sin Estado vs. Con Estado en smolagents

Herramientas de Función (decorador @tool)

  • Sin estado: no guarda memoria entre llamadas
  • No puede recordar tu almacén de vectores entre llamadas

Herramientas Basadas en Clases (subclase Tool)

  • Con estado: mantiene referencias entre llamadas
  • Almacena objetos complejos
Agentes de IA con Hugging Face smolagents

La Anatomía de una Herramienta Basada en Clases

from smolagents import Tool

class ToolName(Tool):
    name = "tool_name"

description = "Descripción clara para el agente"
inputs = { "parameter_name": {"type": "parameter_type", "description": "Propósito del parámetro"} } output_type = "string"
def __init__(self, custom_parameters): super().__init__() self.custom_attribute = custom_parameters
def forward(self, parameter_name): # El agente llama a este método return "processed output"
Agentes de IA con Hugging Face smolagents

Construir una Herramienta de Búsqueda de Recetas

class RecipeSearchTool(Tool):
    name = "recipe_search" 
    description = "Buscar documentación de cocina para recetas, técnicas e información de planificación de comidas"
    inputs = {
        "query": {"type": "string", "description": "Consulta de cocina en lenguaje natural"}
    }
    output_type = "string"

def __init__(self, vectorstore, k=6): super().__init__() self.vectorstore = vectorstore self.k = k
def forward(self, query): docs = self.vectorstore.similarity_search(query, k=self.k) return "\n\n".join(doc.page_content for doc in docs) or "Nada encontrado."
Agentes de IA con Hugging Face smolagents

Agente Asistente de Cocina: Integración Completa

# Inicializar la herramienta de búsqueda
recipe_search = RecipeSearchTool(vector_store)

agent = CodeAgent(
    tools=[recipe_search],
    model=model,
    instructions="Busca a fondo para proporcionar respuestas completas de recetas. 
      Si los resultados iniciales parecen incompletos, prueba con otros términos de búsqueda.",
    verbosity_level=1,
    max_steps=8
)
Agentes de IA con Hugging Face smolagents

Ejemplo de Ejecución del Agente

Consulta: ¿Cómo cocinar salmón con hierbas usando técnicas profesionales?

[Paso 1] Buscar "técnicas de cocina con salmón y hierbas"...

[Paso 2] Buscar "preparación profesional de salmón"...

[Respuesta Final]

"Seca los filetes, sazona con hierbas y:

  • Dóralos con la piel hacia abajo, bañando con mantequilla, ajo, tomillo
  • O hornea a 200°C con mantequilla de limón y hierbas por 10 a 12 min"
Agentes de IA con Hugging Face smolagents

¡Vamos a practicar!

Agentes de IA con Hugging Face smolagents

Preparing Video For Download...