- BrainTools - https://www.braintools.ru -
Представьте, что вы — настоящий папа Карло, который хочет оживить своего робота, но не простого, а на основе больших языковых моделей (LLM). Ваш робот будет не только разговаривать, но и использовать специальные инструменты, которые помогут ему взаимодействовать с сайтами, кодом и даже выполнять ваши повседневные задачи.
Простыми словами, агент — это комбинация модели искусственного интеллекта [1] (LLM) и инструментов, которые вы ему предоставляете для выполнения конкретных задач.
Привет, чемпионы! В этой статье я расскажу вам, как создать своего собственного AI-агента, который сможет помогать вам в различных задачах, и покажу это на конкретных примерах.
LLM (Large Language Model) — на простом языке это модель, которая отлично понимает человеческий язык и умеет генерировать осмысленные ответы. Она учится на огромных объемах текстов, что позволяет ей распознавать закономерности, структуру и даже нюансы языка, тем самым «предсказывая» наиболее подходящие ответы на ваши запросы.
Использовать LLM можно двумя способами: либо локально, если есть мощное оборудование, либо через облачные API, например, Hugging Face Serverless Inference API.
SmolAgents — это легкая библиотека, созданная для быстрого запуска AI-агентов. С её помощью вы можете легко выбирать и настраивать модель и добавлять инструменты, которые нужны в вашему агенту для работы. Главный плюс — это открытый исходный код и минимализм (всего около 1000 строк кода).
В SmolAgents доступны встроенные инструменты (поисковики, API и песочницы), а также возможность добавлять собственные кастомные инструменты.
Чтобы начать, нужно выполнить несколько простых шагов:
Зарегистрируйтесь на сайте Hugging Face [2] и получите свой API-токен:
Зайдите в свой профиль на Hugging Face.
Перейдите в раздел «Access Tokens».
Нажмите Create new token и создайте новый токен с нужными параметрами.
4. Получаем токен.
Не беспокойтесь, токен из примера уже удален, можете не пытаться его использовать :)
Установим библиотеку:
!pip install smolagents huggingface_hub
Авторизуемся в Jupyter и вводим наш токен:
from huggingface_hub import login
login()
Создаём агента и запускаем запрос:
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, которая обрабатывает их и формулирует итоговый ответ.
В результате мы получаем логи, где и находится наш ответ:
Теперь представим, что вы захотели сделать бота, который будет максимально удобно для вас автоматизировать задачу! Да-да, своего собственного микро-джуна!
Мы можем дать нашему агенту возможность не только писать код, но и запускать его и даже отлаживать. Однако тут важно быть осторожным! Представьте, вы дали агенту доступ писать код на вашем сервере. Что если он ошибётся и начнёт удалять всё подряд случайно сделав sudo rm --no-preserve-root -rf /
? Чтобы не получить проблем с сервером или даже законом (а мы ведь не хотим, чтобы Интерпол грел вам паяльник, верно?), мы ограничиваем его возможности специальной песочницей:
Представьте, что вы доверили агенту писать код на вашем сервере, а он случайно его удалил! Чтобы избежать таких ситуаций, используем песочницу (например, e2b [3]). Данная песочница позволяет через API обращаться к агенту, создавать изолированную среду, в которой он сможет выполнять задачи, писать код и даже переписывать его, если что-то не получилось с первого раза.
Установите библиотеку с поддержкой песочницы:
!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?")
В результате агент самостоятельно написал код без тулзы от поисковика и получил данные после парсинга:
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
Нажмите здесь для печати.