Разворачиваем GigaAgent локально в Docker, избежав ошибок установки и запуска.
Сбер представил общественности OpenSource фреймворк для построения агентов на базе LangChain https://github.com/ai-forever/giga_agent/blob/main/README.md. Как только я об этом узнал, мне сильно захотелось его попробовать у себя развернуть, т.к. есть жгучее желание сделать агента - игрового аналитика - гомункула GameDeleev’а :) И по моей задумке LangChain или GigaChain должны дать ему тело, которое затем будет обрастать руками-тулзами и магическими способностями на основе нашего большого опыта в игровой аналитике.
Исходные данные - ноутбук с Ubuntu 24.04, 32 Гб ОЗУ, 8 CPU. Запускать будем в докере, чтобы при необходимости можно было перенести на полностью изолированную тачку с локальными же LLM’ками.
В инструкции от Сбера (https://rutube.ru/video/c9a416a654723f0b1df23424bd3d9b4d/) все проходит легко и гладко в течение каких-то десятков минут, но вас могут поджидать проблемы, с которыми я столкнулся и решение которых я тут хочу описать.
Вам заранее нужно озаботиться магическими сервисами, которые нельзя рекламировать, но которые позволят вам свободно скачивать ПО, закрытое от россиян западными корпорациями. То что GigaAgent российская разработка, которая свободно лежит на гитхабе вам не сильно поможет, как оказалось. Странно почему продвигая свою разработку Сбер не замутил под нужные докеры и либы какие-нибудь зеркала.
Это не проблема, а прописная истина, но создайте под проект локальное окружение и не забывайте его активировать 🙂
Далее клонируем себе репозиторий git clone https://github.com/ai-forever/giga_agent.git - с этим проблем возникнуть не должно.
В окружение ставим LangGraph CLI: pip install langgraph-cli.
Копируем мок-данные: make init_files.
Пропущенный момент в инструкции Сбера. Действительно идем в папочку env_examples,берем оттуда пример и создаем в корне из него файл .docker.env.
Идем в https://developers.sber.ru/ и через sber_id регаем себе аккаунт, там слева внизу ищем Настройки API (иконка в виде ключика) и создаем себе ключ физического лица (в моем случае), там все просто.
Далее несколько не очевидных вещей в .docker.env в переменную GIGACHAT_CREDENTIALS вставляем после = свой полученный AuthorizationKey без кавычек (не понятно, почему нельзя было назвать переменную GIGACHAT_AUTHORIZATION_KEY). MAIN_GIGACHAT_CREDENTIALS=${GIGACHAT_CREDENTIALS}, также не понятно, почему это сразу не прописано в примере. Прописываем в GIGACHAT_SCOPE, полученный в личном кабинете Scope, тут как раз все очевидно из названий. И не забудьте прописать также MAIN_GIGACHAT_SCOPE=${GIGACHAT_SCOPE}, опять же это стоило описать в примере, т.к. без этого потом не работает!
Идем на https://smith.langchain.com/ и регаем себе аккаунт (без волшебных сервисов у вас ничего не получится) и получаем LANGSMITH_API_KEY. В примере прописано, что это требуемый параметр, но почему-то не указана даже ссылка, где его получить. Надо либо рассказать, как получить, либо избавиться от этой зависимости.
Вот теперь мы готовы дальше двигаться по инструкции из репозитория. Собираем докер-образ сервера LangGraph: make build_graph. А он хоп и не собирается, потому что базовый образ langchain/langgraph-api:3.11 использует Debian trixie (testing), который часто бывает не доступен.
Чтобы решить эту проблему создайте backend/graph/Dockerfile.custom:
FROM langchain/langgraph-api:3.11
RUN sed -i 's|trixie|bookworm|g' /etc/apt/sources.list
RUN apt-get update && apt-get install -y \
ffmpeg libavcodec-extra curl \
&& rm -rf /var/lib/apt/lists/*
RUN curl -fsSL https://deb.nodesource.com/setup_lts.x | bash -
RUN apt-get install -y nodejs
RUN npm install -g npm@latest
Обновите backend/graph/langgraph.json:
{
"dockerfile": "Dockerfile.custom",
// ... остальные настройки без "dockerfile_lines"
}
Мне из-за блокировки не удалось скачать UV при сборке образа (даже через зеркало ghproxy.com), поэтому пришлось выкачивать его вручную:
cd ~/giga_agent/backend/repl
mkdir -p uv-bin
cd uv-bin
wget https://github.com/astral-sh/uv/releases/download/0.9.15/uv-x86_64-unknown-linux-gnu.tar.gz
```
И еще немного обновляем докер файл ```backend/repl/Dockerfile```:
```dockerfile
# ... предыдущие строки без изменений ...
# Установка uv из локального архива
COPY uv-bin/uv-x86_64-unknown-linux-gnu.tar.gz /tmp/uv.tar.gz
RUN tar -xzf /tmp/uv.tar.gz -C /tmp && \
mv /tmp/uv-x86_64-unknown-linux-gnu/uv /usr/local/bin/uv && \
mv /tmp/uv-x86_64-unknown-linux-gnu/uvx /usr/local/bin/uvx && \
chmod +x /usr/local/bin/uv /usr/local/bin/uvx && \
rm -rf /tmp/uv-x86_64-unknown-linux-gnu /tmp/uv.tar.gz
ENV PATH="/usr/local/bin:$PATH"
RUN uv sync --locked
# ... остальное без изменений ...
А вот теперь спокойно делаем make build_graph и docker compose up -d
И у нас поднимается целых 7 докер контейнеров.

Радостные идем на localhost:8502 и пользуемся нашим первичным агентом, который может даже обрабатывать csv файлы с данными и выполнять код на python!
Думаете это конец?) С одной стороны почти все работает :) Только тулза, которая создает мемы не завелась, но на эту муть я решил не тратить пока свое время и токены.
Токены - вот тут то меня и ждала засада, после того как я подключил по API Qwen, я привык, что у меня для теста куча бесплатных токенов по 1 000 000 (миллиону) бесплатных токенов на каждую из десятков различных моделей, по 100 бесплатных генераций картинок на каждой из десятков моделей для генерации картинок. А потом можно на 10 баксов в три месяца вообще угонять эти модели и в хвост и в гриву!
Сбер дает только по 50 000 бесплатных токенов на GigaChat Pro и на GigaChat Max, которые агентом сжираются мгновенно! Макса хватило на 13 запросов, включая “Привет!”, “Что ты умеешь?” и одну фигуру Лиссажу. А Про на 7 запросов, чтобы построить распределение исходов шахматных матчеей и минимальную муть типа df.info().


Ну а потом он мне предлагает купить 1 млн токенов за 2К рублей или 4 млн токенов за 7,5К (96$ по текущему курсу декабря 2025) рублей! Да я год назад на API DeepSeek занес 50$ до сих пор 5 (пять)$ потратить не смог! А он мне каждый день выдает на сайты по несколько статей, на каждую из которых происходит несколько обращений по API в том числе к рассуждающей модели!

Поэтому на новогодних праздниках ждите от меня статьи о том, как подружить GigaAgent с Qwen API и/или DeepSeek API. И как к GigaAgent прикрутить локальные модели, ообенно специализированные под работу с табличными данными. Будем учить нашего GameDeleev’а в PostreSQL запросы кидать, строить графики метрик и делать выгрузки :)
Не скрою, сама задумка и, в принципе, реализация GigaAgent мне очень понравилась (надо только доработать немного), однако запредельная жадность Сбера зарубает множество инициатив российских разработчиков и предпринимателей. Казалось бы, сделай цены сопоставимые с китайскими (ну на 20% повыше) и половина пэт проектов и проекты малого российского бизнеса будут реализованы на отечественных моделях, благо они стали очень даже ничего за последнее время. И это вызывает грусть, но оставляет надежду.