Tworzenie agenta z niestandardowymi narzędziami

Agenty AI z Hugging Face smolagents

Adel Nehme

VP of AI Curriculum, DataCamp

Agenty AI z Hugging Face smolagents

Zalety niestandardowych narzędzi

  • Niezawodność: Logika jest jawnie zapisana i przetestowana, zamiast polegać na domysłach agenta
  • Wielokrotne użycie: Narzędzia można stosować w różnych projektach i agentach
  • Spójność: Przewidywalne działanie między kolejnymi uruchomieniami (ułatwia debugowanie)
  • Kontrolowany dostęp: Udostępnianie tylko wybranych zasobów (pliki, API, bazy danych itp.)
Agenty AI z Hugging Face smolagents

Scenariusz: Prowadzenie sklepu detalicznego

  • Dane magazynowe są przechowywane w pliku CSV (rozmiar, kolor, ilość i cena)
  • Agenci kodu mogą pisać kod do odczytu plików CSV
  • Domyślnie nie mają jednak dostępu do plików
  • Dostęp do pliku należy opakować w niestandardowe narzędzie

Agenty AI z Hugging Face smolagents

Anatomia niestandardowego narzędzia

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
Agenty AI z Hugging Face smolagents

Najlepsze praktyki dotyczące niestandardowych narzędzi

Agenty AI z Hugging Face smolagents

Czy mamy jakieś koszulki na stanie?

Agenty AI z Hugging Face smolagents

Rejestrowanie niestandardowego narzędzia w agencie

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.
Agenty AI z Hugging Face smolagents

Niestandardowe narzędzia w projektach produkcyjnych

Agenty AI z Hugging Face smolagents

Czas na ćwiczenia!

Agenty AI z Hugging Face smolagents

Preparing Video For Download...