Enable Diffusion Image models asynchronous output (#4981)
Signed-off-by: zzh <943967662@qq.com> Co-authored-by: dengyunyang <584797741@qq.com>
This commit is contained in:
1 parent
f2d9eb1630
commit
dba05c3517
22 files changed
+1440
-72
No files matched your search
@@ -1273,6 +1273,7 @@ class DiffusionOutput:
|
||||
trajectory_latents: torch.Tensor | dict[str, Any] | None = None
|
||||
trajectory_log_probs: torch.Tensor | dict[str, Any] | None = None
|
||||
trajectory_decoded: list[Image.Image] | None = None
|
||||
async_output_id: str | None = None
|
||||
error: str | None = None
|
||||
error_status_code: int | None = None
|
||||
error_type: str | None = None
|
||||
@@ -1333,6 +1334,37 @@ class DiffusionOutput:
|
||||
)
|
||||
|
||||
|
||||
class AsyncOutputKind(Enum):
|
||||
"""Message kind for ``AsyncDiffusionOutput`` — routes async results.
|
||||
|
||||
* ``RPC_RESULT`` — ordinary RPC return (sleep, wake, profile, etc.)
|
||||
* ``COMPUTE_DONE`` — worker forward finished, GPU can start next request
|
||||
* ``OUTPUT_READY`` — background D2H/SHM packing finished, final output
|
||||
is available via ``async_output_id``
|
||||
"""
|
||||
|
||||
RPC_RESULT = "rpc_result"
|
||||
COMPUTE_DONE = "compute_done"
|
||||
OUTPUT_READY = "output_ready"
|
||||
|
||||
|
||||
@dataclass
|
||||
class AsyncDiffusionOutput:
|
||||
"""Async protocol envelope for ``result_mq`` messages.
|
||||
|
||||
In request-mode (``step_execution=False``), all ``result_mq``
|
||||
messages use this envelope. The ``kind`` field routes the message
|
||||
to the correct consumer.
|
||||
"""
|
||||
|
||||
kind: AsyncOutputKind
|
||||
rpc_id: str | None = None
|
||||
async_output_id: str | None = None
|
||||
result: Any | None = None
|
||||
output: DiffusionOutput | None = None
|
||||
error: str | None = None
|
||||
|
||||
|
||||
class DiffusionRequestAbortedError(RuntimeError):
|
||||
"""Raised when a diffusion request ends via user-visible abort."""
|
||||
|
||||
|
||||
Reference in new issue
Block a user