Изучить создание мульти-агентных систем с использованием фреймворка smolagents от Hugging Face. За 30 минут мы создадим систему из 4 специализированных агентов, которые совместно найдут лучший курс обмена USD на рубли.
Наша система состоит из 4 агентов:
- CurrencyAgent 📊 - получает официальный курс USD/RUB от ЦБ РФ
- LocationAgent 🗺️ - находит банки в радиусе 5 км от адреса пользователя
- BankRatesAgent 💰 - собирает курсы обмена валют в найденных банках
- DecisionAgent 🧠 - анализирует данные и дает рекомендации
# Клонируйте репозиторий или скачайте файлы
cd Agents_Workshop
# Установите зависимости
pip install -r requirements.txt- Скопируйте файл с шаблоном:
cp .env.example .env- Заполните ваши API ключи в файле
.env:
CLOUD_RU_API_KEY=your_cloud_ru_api_key_here
# Serper.dev API ключ (для поиска в Google)
SERPER_API_KEY=your_serper_api_key_here
# Для получения координат через сервис geopify
GEOAPIFY_API_KEY=your_geopify_api_key_here
**Где получить API ключи:**
- **Serper.dev ключ**: [serper.dev](https://serper.dev/) (бесплатный план: 2500 запросов/месяц)
### Шаг 3: Запуск workshop
```bash
jupyter notebook currency_exchange_workshop.ipynbAgents_Workshop/
├── currency_exchange_workshop.ipynb # Основной notebook для workshop
├── custom_tools.py # Кастомные инструменты для агентов
├── requirements.txt # Python зависимости
├── .env.example # Шаблон для API ключей
├── .env # Ваши API ключи (создается вами)
└── README.md # Этот файл
- smolagents - фреймворк для создания "агентов, которые думают кодом"
- Cloud.ru API - языковая модель для агентов
- Serper.dev - API для поиска в Google
- ЦБ РФ API - официальные курсы валют
- Jupyter Notebooks - интерактивная среда разработки
- Теория мульти-агентных систем
- Обзор smolagents фреймворка
- Архитектура нашего решения
- Установка библиотек
- Настройка API ключей
- Проверка подключений
- SerperSearchTool - поиск банков
- CBRCurrencyTool - официальные курсы
- BankRatesTool - банковские курсы
- UserInputTool - взаимодействие с пользователем
- CurrencyAgent с официальными курсами
- LocationAgent для поиска банков
- BankRatesAgent для сбора курсов
- DecisionAgent для анализа и рекомендаций
- Запуск полного сценария
- Анализ результатов
- Обсуждение возможностей развития
- Назначение: Поиск банков через Google Search API
- Входные данные: поисковый запрос
- Выходные данные: список банков с адресами
- Назначение: Получение официального курса ЦБ РФ
- API: https://www.cbr-xml-daily.ru/daily_json.js
- Выходные данные: курс USD/RUB с датой
- Назначение: Получение курсов обмена в банках
- Особенность: Использует демо-данные для workshop'а
- Выходные данные: курсы покупки/продажи USD
- Назначение: Интерактивное взаимодействие с пользователем
- Использование: Получение адреса пользователя
После прохождения workshop'а вы научитесь:
✅ Создавать мульти-агентные системы с smolagents
✅ Разрабатывать кастомные инструменты для агентов
✅ Интегрировать внешние API в агентские системы
✅ Координировать работу между специализированными агентами
✅ Строить end-to-end решения с использованием ИИ
from smolagents import CodeAgent
from smolagents.models import OpenAIModel
from custom_tools import CBRCurrencyTool
model = OpenAIModel(model_name=\"gpt-3.5-turbo\")
agent = CodeAgent(tools=[CBRCurrencyTool()], model=model)
result = agent.run(\"Получи курс доллара от ЦБ РФ\")
print(result)# CurrencyAgent получает официальный курс
official_rate = currency_agent.run(\"Получи курс USD/RUB\")
# LocationAgent находит банки
banks = location_agent.run(\"Найди банки рядом с адресом пользователя\")
# DecisionAgent анализирует и рекомендует
recommendation = decision_agent.run(f\"Проанализируй: {official_rate}, {banks}\")- Добавить больше банков и источников данных
- Улучшить парсинг адресов и геолокацию
- Добавить кэширование для API запросов
- Создать веб-интерфейс
- Мониторинг курсов в реальном времени
- Машинное обучение для предсказания курсов
- Интеграция с банковскими API
- Мобильное приложение
- Уведомления о выгодных курсах
Если у вас возникли вопросы или предложения:
- Проверьте раздел "Troubleshooting" ниже
- Создайте issue в репозитории
- Обратитесь к ведущему workshop'а
Решение:
pip install smolagents[toolkit]Решение:
- Проверьте правильность SERPER_API_KEY в файле
.env - Убедитесь, что у вас есть доступ к интернету
- Проверьте лимиты на вашем Serper аккаунте
Решение:
- Используйте более быструю модель (например qwen-32b)
- Упростите промпты агентов
- Добавьте кэширование API ответов
Этот workshop создан в образовательных целях. Все используемые API имеют свои условия использования.