ym88659208ym87991671
Требования и рекомендации | Документация для разработчиков

Требования и рекомендации

Обновлено 27 февраля 2026

В этом разделе приводятся требования и рекомендации, которые следует соблюдать при разработке агента для публикации в GigaLab.

Требования

Для публикации в GigaLab агент должен соответствовать требованиям:

  • Python версии 3.12.3 и выше.

  • Агент разработан с помощью фреймворка LangGraph (python-модуль langgraph).

  • Основные параметры работы агента должны определяться в переменных окружения в файле .env.

    Пример заполнения переменных окружения в файле .env.example . Файл .env вашего агента должен содержать все переменные из примера.

  • Зависимости, необходимые для работы агента, должны быть заданы в файле requirements.txt внутри репозитория агента.

    Пример перечня зависимостей в requirements.txt .

  • Агент без ошибок запускается локально с помощью команды langgraph dev.

    Для этого в репозитории агента должен быть файл langgraph.json, в котором описаны параметры запуска. Пример файла .

  • При выполнении http-запросов к сторонним сервисам используйте модули requests или httpx и передавайте заголовок User-Agent: agent-toolkit. Без заголовка User-Agent прокси не пропустит http-запрос. Вы можете использовать другое значение заголовка, согласованное с безопасностью. Это нужно для корректной работы метрик http-вызовов.

    В конфигурации агента используется прокси http://proxy.sberdevices.ru который поддерживает переменные no_proxy, http_proxy, https_proxy. Сертификат SberDevices передается с помощью переменной REQUESTS_CA_BUNDLE.

Рекомендации по написанию кода

При разработке агента следуйте рекомендациям:

  • для обмена сообщениям с моделью используйте библиотеку langchain-gigachat;
  • используйте SDK agent-lab-sdk . Он поможет упростить разработку, например, работу с метриками, и авторизацию в регионах Enablers и Advanced;
  • для сохранения состояния работы агента используйте MemorySaver(). Класс MemorySaver используется по умолчанию в методе graph.compile() и переопределен в нашей обертке;
  • для передачи дополнительных данных (виджеты и прочая информация необходимая для отображения в интерфейсе) вместе с сообщением из агента на фронтенд в стриме используется поле additional_kwargs класса BaseMessage.
  • агент не должен переопределять логирование и должен использовать стандартный модуль import logging
  • агент не должен интегрировать в себя зависимости метрик Prometheus или Azire-Phoenix.
  • для корректного отображения параметров запуска агента на фронте State и RunnableConfig схемы должны быть описаны с использованием модуля Pydantic и должны наследоваться от BaseModel
  • при написании кода следуйте руководству PEP8 ;
  • следите, чтобы код агента был понятным, содержал подробные комментарии и обеспечивал удобство сопровождения;
  • изолируйте код агента в своем репозитории в группе agents .

Заметили ошибку?

Выделите текст и нажмите Ctrl + Enter, чтобы сообщить нам о ней

ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей. Вы можете запретить сохранение cookie в настройках своего браузера.