ai-suite-rocm-local/services/comfy_ui.py

36 lines
1.3 KiB
Python
Raw Normal View History

2024-10-05 14:23:55 +02:00
from pathlib import Path
from core.stack import Stack
2024-08-28 10:39:27 +02:00
class ComfyUi(Stack):
2024-08-28 10:39:27 +02:00
def __init__(self):
super().__init__(
'ComfyUI',
'comfy_ui',
2024-08-28 10:39:27 +02:00
5004,
'https://github.com/comfyanonymous/ComfyUI.git'
)
def _install(self):
2024-08-28 10:39:27 +02:00
# Install the webui
2024-10-05 14:23:55 +02:00
self.git_clone(url=self.url, dest=Path(self.path / "webui"))
2024-08-28 10:39:27 +02:00
self.install_requirements("webui/requirements.txt")
# Install the manager
2024-10-05 14:23:55 +02:00
self.git_clone(url="https://github.com/ltdrdata/ComfyUI-Manager.git", dest=Path("webui/custom_nodes/manager"))
2024-08-28 10:39:27 +02:00
# Add GGUF support
2024-10-05 14:23:55 +02:00
self.git_clone(url="https://github.com/city96/ComfyUI-GGUF.git", dest=Path("webui/custom_nodes/ComfyUI-GGUF"))
2024-08-28 10:39:27 +02:00
self.pip_install(["gguf", "numpy==1.26.4"])
# Add NF4 support for Flux
self.install_from_prebuilt("bitsandbytes")
self.git_clone(url="https://github.com/comfyanonymous/ComfyUI_bitsandbytes_NF4.git",
2024-10-05 14:23:55 +02:00
dest=Path("webui/custom_nodes/ComfyUI_bitsandbytes_NF4"))
2024-08-28 10:39:27 +02:00
def _start(self):
2024-09-14 10:43:24 +02:00
args = ["--port", str(self.port), "--force-fp32"]
2024-10-05 14:23:55 +02:00
self.python(f"main.py", args=args, current_dir=Path(self.path / "webui"),
env=["TORCH_BLAS_PREFER_HIPBLASLT=0"], daemon=True)