[Model][Frontend] MiniMax-H3: Add opt-in planar video response encoding (#6288)
Signed-off-by: MosCloud <bwzhang1991@163.com> Co-authored-by: Hongsheng Liu <liuhongsheng4@huawei.com>
This commit is contained in:
1 parent
3d34b8b977
commit
4882a36c41
9 files changed
+1077
-23
No files matched your search
@@ -89,6 +89,56 @@ class FakeAsyncOmni:
|
||||
yield MockVideoResult(videos)
|
||||
|
||||
|
||||
def test_raw_and_base64_encoders_receive_no_policy_config(mocker: MockerFixture):
|
||||
engine = FakeAsyncOmni()
|
||||
handler = OmniOpenAIServingVideo.for_diffusion(
|
||||
engine,
|
||||
model_name="test-model",
|
||||
)
|
||||
raw_encoder = mocker.patch(
|
||||
"vllm_omni.entrypoints.openai.serving_video._encode_video_bytes",
|
||||
return_value=b"encoded-video",
|
||||
)
|
||||
base64_encoder = mocker.patch(
|
||||
"vllm_omni.entrypoints.openai.serving_video.encode_video_base64",
|
||||
return_value="encoded-video",
|
||||
)
|
||||
|
||||
async def _generate_both_response_types():
|
||||
request = VideoGenerationRequest(prompt="test prompt")
|
||||
await handler.generate_video_bytes(request, "raw-request")
|
||||
await handler.generate_videos(request, "base64-request")
|
||||
|
||||
asyncio.run(_generate_both_response_types())
|
||||
|
||||
assert "encoding_config" not in raw_encoder.call_args.kwargs
|
||||
assert "encoding_config" not in base64_encoder.call_args.kwargs
|
||||
|
||||
|
||||
def test_resolve_diffusion_od_config_falls_back_to_attribute():
|
||||
od_config = SimpleNamespace(model_class_name="WanPipeline")
|
||||
handler = OmniOpenAIServingVideo.for_diffusion(
|
||||
SimpleNamespace(od_config=od_config),
|
||||
model_name="test-model",
|
||||
)
|
||||
|
||||
assert handler._resolve_diffusion_od_config() is od_config
|
||||
|
||||
|
||||
def test_resolve_diffusion_od_config_prefers_getter_over_attribute():
|
||||
attribute_config = SimpleNamespace(model_class_name="WanPipeline")
|
||||
getter_config = SimpleNamespace(model_class_name="MiniMaxH3Pipeline")
|
||||
handler = OmniOpenAIServingVideo.for_diffusion(
|
||||
SimpleNamespace(
|
||||
od_config=attribute_config,
|
||||
get_diffusion_od_config=lambda: getter_config,
|
||||
),
|
||||
model_name="test-model",
|
||||
)
|
||||
|
||||
assert handler._resolve_diffusion_od_config() is getter_config
|
||||
|
||||
|
||||
class BlockingVideoHandler:
|
||||
def __init__(self):
|
||||
self.model_name = "Wan-AI/Wan2.2-T2V-A14B-Diffusers"
|
||||
@@ -1157,7 +1207,13 @@ def test_worker_fps_multiplier_is_applied_to_async_encoding(test_client, mocker:
|
||||
def test_audio_sample_rate_comes_from_model_config(test_client, mocker: MockerFixture):
|
||||
audio_sample_rates = []
|
||||
|
||||
def _fake_encode(video, fps, audio=None, audio_sample_rate=None, video_codec_options=None):
|
||||
def _fake_encode(
|
||||
video,
|
||||
fps,
|
||||
audio=None,
|
||||
audio_sample_rate=None,
|
||||
video_codec_options=None,
|
||||
):
|
||||
del video, fps, audio, video_codec_options
|
||||
audio_sample_rates.append(audio_sample_rate)
|
||||
return b"fake-video"
|
||||
|
||||
Reference in new issue
Block a user