ComenzarEmpieza gratis

Solo añade @tool: crea una herramienta personalizada

Acabas de empezar a trabajar en AgentsCafé, donde los clientes de cada mesa pueden hacer varios pedidos de bebidas.

Ahora mismo, los baristas escriben a mano códigos de pedido como T5_Latte_20250812_0915, pero los errores tipográficos y los formatos inconsistentes suelen causar confusiones y entregas equivocadas.

Para solucionarlo, vas a crear una herramienta sencilla llamada generate_order_id que reciba un ID de mesa, el nombre de la bebida y añada una marca de tiempo, asegurando que cada código de pedido sea claro y coherente.

Nota: La biblioteca datetime ya está importada.

Este ejercicio forma parte del curso

Agentes de IA con Hugging Face smolagents

Ver curso

Instrucciones del ejercicio

  • Importa el decorador tool de la biblioteca smolagents.
  • Usa el decorador @tool para registrar tu función generate_order_id como herramienta.
  • Devuelve la cadena de ID de pedido formateada que combine el ID de mesa, el nombre de la bebida y la marca de tiempo actual.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# Import the tool decorator
from smolagents import ____

# Create a tool with the @tool decorator
____
def generate_order_id(table_id: str, drink_name: str) -> str:
    """
    Generates a unique order ID for a café order.
    
    Args:
        table_id: The table's identifier (e.g. "T5")
        drink_name: Name of the drink (e.g. "Latte")
    
    Returns:
        A string in the format "{table_id}_{drink_name}_{YYYYMMDD_HHMM}"
    """
    timestamp = datetime.now().strftime("%Y%m%d_%H%M")
    order_id = f"{table_id}_{drink_name}_{timestamp}"
    
    # Return the order ID
    return ____
Editar y ejecutar código