ComeçarComece de graça

Só adicionar @tool: criando uma ferramenta personalizada

Você acabou de começar a trabalhar no AgentsCafé, onde clientes em cada mesa podem fazer vários pedidos de bebidas.

Atualmente, os baristas escrevem à mão códigos de pedido como T5_Latte_20250812_0915, mas erros de digitação e formatação inconsistente costumam causar confusões e entregas erradas.

Para resolver isso, você vai criar uma ferramenta simples chamada generate_order_id que recebe o ID da mesa, o nome da bebida e adiciona um carimbo de data/hora, garantindo que cada código de pedido fique claro e consistente.

Observação: A biblioteca datetime já foi importada.

Este exercício faz parte do curso

Agentes de IA com Hugging Face smolagents

Ver curso

Instruções do exercício

  • Importe o decorador tool da biblioteca smolagents.
  • Use o decorador @tool para registrar sua função generate_order_id como uma ferramenta.
  • Retorne a string de ID do pedido formatada que combina o ID da mesa, o nome da bebida e o carimbo de data/hora atual.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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 e executar o código