From 24d6871e47f64464c49cabb90b55b037c71b0daf Mon Sep 17 00:00:00 2001 From: KarryCharon <49889381+KarryCharon@users.noreply.github.com> Date: Sun, 2 Feb 2025 22:24:55 +0800 Subject: [PATCH 1/2] add disable-compres-response-body cli args; add compress middleware; (#6672) --- comfy/cli_args.py | 2 ++ server.py | 18 +++++++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/comfy/cli_args.py b/comfy/cli_args.py index f31d59411..a92fc0dba 100644 --- a/comfy/cli_args.py +++ b/comfy/cli_args.py @@ -179,6 +179,8 @@ parser.add_argument( parser.add_argument("--user-directory", type=is_valid_directory, default=None, help="Set the ComfyUI user directory with an absolute path. Overrides --base-directory.") +parser.add_argument("--disable-compres-response-body", action="store_true", help="Disable compressing response body.") + if comfy.options.args_parsing: args = parser.parse_args() else: diff --git a/server.py b/server.py index 88c163fc7..7b8608479 100644 --- a/server.py +++ b/server.py @@ -52,6 +52,22 @@ async def cache_control(request: web.Request, handler): response.headers.setdefault('Cache-Control', 'no-cache') return response + +@web.middleware +async def compress_body(request: web.Request, handler): + accept_encoding = request.headers.get("Accept-Encoding", "") + response: web.Response = await handler(request) + if args.disable_compres_response_body: + return response + if not isinstance(response, web.Response): + return response + if response.content_type not in ["application/json", "text/plain"]: + return response + if response.body and "gzip" in accept_encoding: + response.enable_compression() + return response + + def create_cors_middleware(allowed_origin: str): @web.middleware async def cors_middleware(request: web.Request, handler): @@ -149,7 +165,7 @@ class PromptServer(): self.client_session:Optional[aiohttp.ClientSession] = None self.number = 0 - middlewares = [cache_control] + middlewares = [cache_control, compress_body] if args.enable_cors_header: middlewares.append(create_cors_middleware(args.enable_cors_header)) else: From 0a0df5f136a90b1f49c7752872efd949ea2350e8 Mon Sep 17 00:00:00 2001 From: "Dr.Lt.Data" <128333288+ltdrdata@users.noreply.github.com> Date: Sun, 2 Feb 2025 23:26:47 +0900 Subject: [PATCH 2/2] better guide message for sageattention (#6634) --- comfy/ldm/modules/attention.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/comfy/ldm/modules/attention.py b/comfy/ldm/modules/attention.py index 44aec59a6..975faa21f 100644 --- a/comfy/ldm/modules/attention.py +++ b/comfy/ldm/modules/attention.py @@ -1,4 +1,6 @@ import math +import sys + import torch import torch.nn.functional as F from torch import nn, einsum @@ -16,7 +18,11 @@ if model_management.xformers_enabled(): import xformers.ops if model_management.sage_attention_enabled(): - from sageattention import sageattn + try: + from sageattention import sageattn + except ModuleNotFoundError: + logging.error(f"\n\nTo use the `--use-sage-attention` feature, the `sageattention` package must be installed first.\ncommand:\n\t{sys.executable} -m pip install sageattention") + exit(-1) from comfy.cli_args import args import comfy.ops