Vytvoření agenta s vlastními nástroji

AI Agents with Hugging Face smolagents

Adel Nehme

VP of AI Curriculum, DataCamp

AI Agents with Hugging Face smolagents

Výhody vlastních nástrojů

  • Spolehlivost: Logiku napíšete a otestujete explicitně, místo aby agent hádat
  • Znovupoužitelnost: Nástroje lze sdílet napříč projekty a agenty
  • Konzistence: Předvídatelné chování při každém spuštění (vhodné pro ladění)
  • Řízený přístup: Zpřístupněte pouze to, co chcete (soubory, API, databáze atd.)
AI Agents with Hugging Face smolagents

Scénář: Provozujete maloobchod

  • Data skladu jsou uložena v souboru CSV (velikost, barva, množství a cena)
  • Kódový agent umí psát kód pro čtení CSV souborů
  • Ve výchozím nastavení však nemá přístup k souborům
  • Přístup k souborům je třeba zabalit do vlastního nástroje

AI Agents with Hugging Face smolagents

Anatomie vlastního nástroje

from smolagents import tool
import pandas as pd

@tool
def check_inventory(product_name: str) -> int:
    """
    Check the available quantity of a product in the inventory CSV.

    Args:
        product_name (str): The name of the product to look up.

    Returns:
        int: The quantity in stock. Returns 0 if the product is not found.
    """
    df = pd.read_csv("store_inventory.csv")
    match = df[df["product_name"] == product_name]
    stock_quantity = int(match.iloc[0]["quantity"]) if not match.empty else 0
    return stock_quantity
AI Agents with Hugging Face smolagents

Osvědčené postupy pro vlastní nástroje

AI Agents with Hugging Face smolagents

Máme na skladě nějaká trička?

AI Agents with Hugging Face smolagents

Registrace vlastního nástroje u agenta

from smolagents import CodeAgent

agent = CodeAgent(
    tools=[check_inventory], # Add custom tool
    model=InferenceClientModel(),
    additional_authorized_imports=["pandas"]  # Allow external package
)

agent.run("Do we have any large t-shirts in stock?")
Yes, we have 8 large t-shirts in stock.
AI Agents with Hugging Face smolagents

Vlastní nástroje v produkčních projektech

AI Agents with Hugging Face smolagents

Pojďme procvičovat!

AI Agents with Hugging Face smolagents

Preparing Video For Download...