Сборка образа агента
В разделе описано как собрать Docker-образ агента. Здесь вы также найдете примеры конфигурационных файлов, которые понадобятся для сборки и публикации образа.
Сборка Docker-образа
Docker-образ нужен для запуска агента в инфраструктуре GigaLab. Для автоматической сборки образа добавьте Dockerfile в репозиторий агента в репозитории agents .
Ниже приведен пример Dockerfile со всеми необходимыми настройками, который вы можете использовать для сборки своего агента.
При сборке образа модули агента не должны конфликтовать с модулями ядра. Для этого упакуйте код агента в отдельную папку внутри образа и используйте абсолютные импорты относительно директории агента.
Если агент в процессе работы создает файлы:
- На этапе сборки создайте папку и предоставьте к ней доступ для пользователя
agent-toolkit. - Файлы, которые появляются в процессе работы агента, создавайте в папке с доступом.
Пример Dockerfile :
# Базовый образ agent-toolkit для сборки агента.
# Переменные CMD, ENTRYPOINT и EXPOSE заданы в базовом образе.
# Образ запускается с правами read only.
# В базовом образе пользователь agent-toolkit по умолчанию имеет права на работу с папкой /tmp.
# Значене workdir по умолчанию — /app.
FROM registry.sberdevices.ru/public-repository/giga-labs/agent-toolkit:latest
# Относительный путь к langgraph.json.
# Для обеспечения совместимости все пути нужно указывать относительно текущей рабочей директории.
ENV GRAPH_CONFIG_JSON_PATH=agents/langgraph.json
# Копирование агента и langgraph.json.
COPY agents/ ./agents/
# Установка зависимостей агента.
# Можно заменить на:
# RUN pip install --index-url https://nexus.sberdevices.ru/repository/Pypi/simple -r ./agents/sample/requirements.txt
RUN set -eux; \
for path in agents/*; do \
if [ -d "$path" ]; then \
if [ -f "$path/requirements.txt" ]; then \
echo "📦 Installing from $path/requirements.txt"; \
pip install --index-url https://nexus.sberdevices.ru/repository/Pypi/simple \
-r "$path/requirements.txt"; \
else \
echo "⚠️ Warning: no requirements.txt found in $path"; \
fi; \
fi; \
done
Сборка образа агента
Для публикации агента на стенды GigaLab, его Docker-образ должен быть доступен в реестре SberDevices
registry.sberdevices.ru/public-repository/giga-labs/agents/.
Чтобы собрать Docker-образ агента, корне репозитория добавьте конфигурационный файл .gitlab-ci.yaml, который описывает параметры джобы для сборки и публикации образа:
include:
- project: 'public-repository/giga-labs/agents-pipeline'
file:
- 'build/build_docker_image.yaml'
variables:
VERSION: '0.0.1-6'
stages:
- build_docker_image
Джоба сборки Docker-образа запускается автоматически.
Запуск джобы сборки образа вручную
Хотя сборка образа должна запуститься автоматически, вам может понадобиться запустить её вручную.
Чтобы запустить джобу сборки образа вручную:
-
Откройте репозиторий агента в GitLab.
-
В панели слева выберите раздел Build -> Jobs.
-
Нажмите Run, чтобы запустить джобу для сборки образа.