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
Instruções do exercício
- Importe o decorador
toolda bibliotecasmolagents. - Use o decorador
@toolpara registrar sua funçãogenerate_order_idcomo 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 ____