Files
vllm-omni/vllm_omni/deploy/joyai_vl_interaction.yaml

80 lines
2.2 KiB
YAML

# Single-GPU JoyAI-VL-Interaction -> Qwen3-TTS all-sync profile.
pipeline: joyai_vl_interaction
async_chunk: false
trust_remote_code: true
connectors:
connector_of_shared_memory:
name: SharedMemoryConnector
extra:
codec_streaming: true
connector_get_sleep_s: 0.01
connector_get_max_wait_first_chunk: 3000
connector_get_max_wait: 300
codec_chunk_frames: 25
codec_left_context_frames: 72
initial_codec_chunk_frames: 1
# Qwen3-TTS Code2Wav buckets: 25, 72+1, 72+25, 72+72+25, and 300+25 frames.
decode_cudagraph_capture_sizes: [25, 73, 97, 169, 325]
stages:
# GPU 0: JoyAI action model.
- stage_id: 0
model: jdopensource/JoyAI-VL-Interaction-Preview
devices: "0"
gpu_memory_utilization: 0.5
max_num_seqs: 4
# Some OmniInteract video prompts contain more than 12K input tokens.
max_model_len: 16384
max_num_batched_tokens: 16384
limit_mm_per_prompt: {image: 256, video: 1}
enable_prefix_caching: true
default_sampling_params:
temperature: 0.8
top_p: 0.9
top_k: 40
max_tokens: 256
repetition_penalty: 1.1
presence_penalty: 1.5
# GPU 0: Qwen3-TTS Talker.
- stage_id: 1
model: Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice
devices: "0"
gpu_memory_utilization: 0.2
max_num_seqs: 8
max_model_len: 4096
max_num_batched_tokens: 512
enable_prefix_caching: false
output_connectors:
to_stage_2: connector_of_shared_memory
default_sampling_params:
temperature: 0.9
top_k: 50
min_tokens: 2
max_tokens: 4096
repetition_penalty: 1.05
subtalker_sampling_params:
do_sample: true
temperature: 0.9
top_k: 50
top_p: 1.0
# GPU 0: Qwen3-TTS Code2Wav.
- stage_id: 2
model: Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice
devices: "0"
gpu_memory_utilization: 0.2
max_num_seqs: 8
max_model_len: 65536
max_num_batched_tokens: 65536
enable_prefix_caching: false
input_connectors:
from_stage_1: connector_of_shared_memory
default_sampling_params:
temperature: 0.0
top_p: 1.0
top_k: -1
max_tokens: 65536
repetition_penalty: 1.0