В этом проекте показано, как создавать изображения с помощью Stable Diffusion, размещая ComfyUI на Amazon SageMaker Inference. Это шаблон проектирования, который позволяет добавить в ваше приложение возможность генерации изображений GenAI.
ComfyUI — один из самых популярных графических интерфейсов и серверной части, который позволяет создавать изображения с использованием Stable Diffusion. Некоторые из ключевых особенностей:
Размещение ComfyUI с использованием Amazon SageMaker Inference может оказаться особенно подходящим, если вы хотите:
Существует функция Lambda для вызова конечной точки вывода SageMaker (на которой работает ComfyUI) для генерации изображений. Например, URL-адрес функции Lambda настроен так, что вы можете протестировать генерацию изображения, вызвав эту выделенную конечную точку HTTPS.
Самый простой способ — запустить экземпляр g5.xlarge
EC2 под управлением AMI Deep Learning OSS Nvidia Driver AMI GPU PyTorch 2.3.0 (Amazon Linux 2)
. Подключитесь к мгновенному серверу с помощью диспетчера сеансов , затем добавьте пользователя в группу docker
, выполнив следующую команду.
sudo usermod -a -G docker $( whoami )
Отключитесь и подключитесь снова, чтобы обновленное членство в группе вступило в силу.
- Если вы не запускаете ComfyUI локально, экземпляр без графического процессора, например
t3.small
также работает.- Если вы хотите запустить модель FLUX.1, используйте как минимум
g5.2xlarge
или выше для версии fp8. используйте как минимумg5.4xlarge
для версии fp16.
AWS Cloud9 или локальный компьютер также работают, но убедитесь, что следующие компоненты установлены правильно.
Примечания: Apple M1/M2/M3 не работает, поскольку кросс-архитектурная сборка контейнера еще не поддерживается. Вы должны использовать x86_64, соответствующий конечной точке SageMaker.
Шаг 1. Клонируйте проект:
git clone https://github.com/aws-samples/comfyui-on-amazon-sagemaker.git
Шаг 2. Настройте следующие файлы (необязательно):
FLUX.1 – Если вы хотите попробовать модели FLUX.1:
- раскомментируйте здесь или здесь, чтобы скачать модели.
- обновите здесь, чтобы изменить
SAGEMAKER_INSTANCE_TYPE
как минимум наml.g5.2xlarge
.- используйте соответствующий файл подсказки
flux1-dev-fp8-ckpt.json
илиflux1-schnell-fp8-ckpt.json
в запросе API.
Шаг 3. Запустите Deploy.sh. Обычно на выполнение уходит не более одного часа.
./deploy.sh
Например, URL-адрес функции Lambda включен, поэтому вы можете протестировать генерацию изображения, вызвав эту выделенную конечную точку HTTPS. URL-адрес конечной точки можно найти в ComfyUIFunctionUrl
из вывода стека.
По умолчанию аутентификация AWS_IAM
настроена для вызова URL-адреса лямбда-функции, поэтому вы должны подписывать каждый HTTP-запрос, используя подпись AWS версии 4 (SigV4). Такие инструменты, как awscurl, Postman и AWS SigV4 Proxy, предлагают встроенные способы подписи ваших запросов с помощью SigV4. Вы можете отключить аутентификацию, установив для LAMBDA_URL_AUTH_TYPE
NONE
в Deploy.sh, но это опасно, поскольку URL-адрес функции открыт для всех.
Пример авторизации подписи AWS с помощью Postman:
А вот пример тела запроса:
{
"positive_prompt" : " hill happy dog " ,
"negative_prompt" : " hill " ,
"prompt_file" : " workflow_api.json " ,
"seed" : 11245
}
Успешный вызов с просмотром сгенерированного изображения:
Удалите следующие ресурсы, развернутые с помощью Deploy.sh.
comfyui
)comfyui-sagemaker-<AWS_ACCOUNT_ID>-<AWS_REGION>
)comfyui-sagemaker
) См. РАЗРАБОТКА
Для получения дополнительной информации см. ВКЛАД.
Эта библиотека лицензируется по лицензии MIT-0. См. файл ЛИЦЕНЗИИ.