- BrainTools - https://www.braintools.ru -

SmolAgents: или как заставить LLM работать на тебя за 30 минут

SmolAgents: или как заставить LLM работать на тебя за 30 минут - 1

Кто такие эти ваши агенты?

Представьте, что вы — настоящий папа Карло, который хочет оживить своего робота, но не простого, а на основе больших языковых моделей (LLM). Ваш робот будет не только разговаривать, но и использовать специальные инструменты, которые помогут ему взаимодействовать с сайтами, кодом и даже выполнять ваши повседневные задачи.

Простыми словами, агент — это комбинация модели искусственного интеллекта [1] (LLM) и инструментов, которые вы ему предоставляете для выполнения конкретных задач.

Привет, чемпионы! В этой статье я расскажу вам, как создать своего собственного AI-агента, который сможет помогать вам в различных задачах, и покажу это на конкретных примерах.

image

Что за мозг у агента (LLM)?

LLM (Large Language Model) — на простом языке это модель, которая отлично понимает человеческий язык и умеет генерировать осмысленные ответы. Она учится на огромных объемах текстов, что позволяет ей распознавать закономерности, структуру и даже нюансы языка, тем самым «предсказывая» наиболее подходящие ответы на ваши запросы.

Использовать LLM можно двумя способами: либо локально, если есть мощное оборудование, либо через облачные API, например, Hugging Face Serverless Inference API.

Архитектура SmolAgents

SmolAgents — это легкая библиотека, созданная для быстрого запуска AI-агентов. С её помощью вы можете легко выбирать и настраивать модель и добавлять инструменты, которые нужны в вашему агенту для работы. Главный плюс — это открытый исходный код и минимализм (всего около 1000 строк кода).

В SmolAgents доступны встроенные инструменты (поисковики, API и песочницы), а также возможность добавлять собственные кастомные инструменты.

Быстрый старт: создаём своего первого агента

Чтобы начать, нужно выполнить несколько простых шагов:

Шаг 1: Создаём токен на Hugging Face

Зарегистрируйтесь на сайте Hugging Face [2] и получите свой API-токен:

  1. Зайдите в свой профиль на Hugging Face.

    image
  2. Перейдите в раздел «Access Tokens».

    image
  3. Нажмите Create new token и создайте новый токен с нужными параметрами.

    image

4. Получаем токен.

image

Не беспокойтесь, токен из примера уже удален, можете не пытаться его использовать :)

Шаг 2: Установка SmolAgents и авторизация

Установим библиотеку:

!pip install smolagents huggingface_hub

Авторизуемся в Jupyter и вводим наш токен:

from huggingface_hub import login
login()

Шаг 3: Запускаем агента

Создаём агента и запускаем запрос:

 from smolagents import CodeAgent, DuckDuckGoSearchTool, HfApiModel
 agent = CodeAgent(tools=[DuckDuckGoSearchTool()], model=HfApiModel())
 agent.run("how many people are on the planet in 2025?")

Здесь мы сделали всё просто и быстро:

  • CodeAgent — агент, который может выполнять код и взаимодействовать с инструментами.

  • DuckDuckGoSearchTool — инструмент для поиска информации через DuckDuckGo.

  • HfApiModel — модель для работы с API, по умолчанию используется Qwen/Qwen2.5-Coder-32B-Instruct.

Запускаем агента, которому мы дали возможность использовать поисковик для анализа и формирования ответа. Поисковик предоставляет данные для LLM, которая обрабатывает их и формулирует итоговый ответ.
В результате мы получаем логи, где и находится наш ответ:

image

Теперь представим, что вы захотели сделать бота, который будет максимально удобно для вас автоматизировать задачу! Да-да, своего собственного микро-джуна!

Мы можем дать нашему агенту возможность не только писать код, но и запускать его и даже отлаживать. Однако тут важно быть осторожным! Представьте, вы дали агенту доступ писать код на вашем сервере. Что если он ошибётся и начнёт удалять всё подряд случайно сделав sudo rm --no-preserve-root -rf /? Чтобы не получить проблем с сервером или даже законом (а мы ведь не хотим, чтобы Интерпол грел вам паяльник, верно?), мы ограничиваем его возможности специальной песочницей:

SmolAgents: или как заставить LLM работать на тебя за 30 минут - 8

Безопасность прежде всего: работа через песочницу

Представьте, что вы доверили агенту писать код на вашем сервере, а он случайно его удалил! Чтобы избежать таких ситуаций, используем песочницу (например, e2b [3]). Данная песочница позволяет через API обращаться к агенту, создавать изолированную среду, в которой он сможет выполнять задачи, писать код и даже переписывать его, если что-то не получилось с первого раза.

Шаги настройки песочницы:

image

Установите библиотеку с поддержкой песочницы:

!pip install 'smolagents[e2b]'

Далее мы настраиваем наш токен (который тоже уже удален, не пытайтесь 🙂)

import os
e2b_key = 'e2b_96c1413f742cec69151c8ae70e53d03040288e4e'

os.environ["E2B_API_KEY"] = 'e2b_96c1413f742cec69151c8ae70e53d03040288e4e'

Теперь создаём агента в безопасной среде. Очень захотелось распарсить сайт днс и посмотреть на параметры микрофона да ещё и получить таблицу.

agent = CodeAgent(
               model=HfApiModel(),
               executor_type="e2b"
               )


agent.run("you can parse the site by the link
         "https://www.dns-shop.ru/product/dd21d7c6a4c33330/mikrofon-boya-by-m1-cernyj/"
         "and return me the result in df?")

В результате агент самостоятельно написал код без тулзы от поисковика и получил данные после парсинга:

image

Что в итоге?

SmolAgents — очень простая и удобная библиотека для старта с AI-агентами. Однако стоит помнить, что использование API может потребовать финансовых затрат. Если не хотите платить за API-токены и желаете полностью локальное решение, то это тоже возможно! Если интересно узнать, как развернуть SmolAgents локально, не тратя ни копейки на токены, а также получить доступ к дополнительным функциям и удобному интерфейсу, поставьте лайк — и я подготовлю вторую часть статьи!

🔥 Технологии вроде SmolAgents уже трансформируют подход к автоматизации — присоединяйтесь к нашему Telegram-сообществу @datafeeling [4], чтобы быть на передовой этих изменений и применять всё это первыми на практике.
Там мы делимся не только новыми инструментами, но и кейсами, инсайтами и рассказываем, как всё это применимо к реальным задачам.

Создавайте своих робобуратино и не забывайте делиться результатами в комментариях. Мы рядом и всегда на связи!

Автор: Aleron75

Источник [5]


Сайт-источник BrainTools: https://www.braintools.ru

Путь до страницы источника: https://www.braintools.ru/article/14077

URLs in this post:

[1] интеллекта: http://www.braintools.ru/article/7605

[2] Hugging Face: https://huggingface.co/

[3] e2b: https://e2b.dev/

[4] @datafeeling: https://t.me/+w0V_HEhKSkIyMTYy

[5] Источник: https://habr.com/ru/companies/datafeel/articles/899370/?utm_source=habrahabr&utm_medium=rss&utm_campaign=899370

www.BrainTools.ru

Рейтинг@Mail.ru
Rambler's Top100