Создание агента с пользовательскими инструментами

ИИ-агенты с Hugging Face smolagents

Adel Nehme

VP of AI Curriculum, DataCamp

ИИ-агенты с Hugging Face smolagents

Преимущества пользовательских инструментов

  • Надёжность: логика прописана и проверена явно — агент ничего не «угадывает»
  • Переиспользование: инструменты работают в разных проектах и агентах
  • Предсказуемость: стабильное поведение при каждом запуске (удобно для отладки)
  • Контролируемый доступ: открывайте только нужное (файлы, API, базы данных и т. д.)
ИИ-агенты с Hugging Face smolagents

Сценарий: вы владеете розничным магазином

  • Данные об инвентаре хранятся в CSV-файле (размер, цвет, количество и цена)
  • Агенты с кодом умеют читать CSV
  • Но по умолчанию у них нет доступа к файлам
  • Необходимо обернуть доступ к файлу в пользовательский инструмент

ИИ-агенты с Hugging Face smolagents

Структура пользовательского инструмента

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
ИИ-агенты с Hugging Face smolagents

Рекомендации по созданию инструментов

ИИ-агенты с Hugging Face smolagents

Есть ли у нас футболки в наличии?

ИИ-агенты с Hugging Face smolagents

Регистрация пользовательского инструмента в агенте

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.
ИИ-агенты с Hugging Face smolagents

Пользовательские инструменты в реальных проектах

ИИ-агенты с Hugging Face smolagents

Давайте потренируемся!

ИИ-агенты с Hugging Face smolagents

Preparing Video For Download...