Signed-off-by: Yuanheng Zhao <jonathan.zhaoyh@gmail.com> Signed-off-by: yuanheng <jonathan.zhaoyh@gmail.com> Signed-off-by: LHXuuu <xulianhao.xlh@antgroup.com> Co-authored-by: LHXuuu <xulianhao.xlh@antgroup.com> Co-authored-by: Hongsheng Liu <liuhongsheng4@huawei.com>
Ming-flash-omni 2.0
Installation
Please refer to README.md
Deployment modes
| Mode | Launch command | Output |
|---|---|---|
| Thinker only (multimodal understanding) | vllm serve ... --omni |
Text |
| Thinker + Talker (omni-speech) | vllm serve ... --omni --stage-configs-path ming_flash_omni.yaml |
Text + Audio |
For standalone TTS (talker only), see examples/online_serving/ming_flash_omni_tts/.
Run examples (Ming-flash-omni 2.0)
Launch the Server
Thinker only (text output):
vllm serve Jonathan1909/Ming-flash-omni-2.0 --omni --port 8091
Thinker + Talker (omni-speech, text + audio output):
vllm serve Jonathan1909/Ming-flash-omni-2.0 --omni --port 8091 \
--stage-configs-path vllm_omni/model_executor/stage_configs/ming_flash_omni.yaml
Pass --stage-configs-path /path/to/your_config.yaml to use a custom stage
config.
Send Multi-modal Request
Shared Python client (supports text | use_image | use_audio | use_video | use_mixed_modalities; pass --image-path / --audio-path / --video-path
for local files or URLs, --modalities text for output, --help for the
full flag list):
python examples/online_serving/openai_chat_completion_client_for_multimodal_generation.py \
--model Jonathan1909/Ming-flash-omni-2.0 \
--query-type use_mixed_modalities \
--port 8091 --host localhost \
--modalities text
Parameterized curl wrapper in this directory:
bash run_curl_multimodal_generation.sh text
bash run_curl_multimodal_generation.sh use_image
bash run_curl_multimodal_generation.sh use_audio
bash run_curl_multimodal_generation.sh use_video
bash run_curl_multimodal_generation.sh use_mixed_modalities
Modality control
modalities |
Server config | Output |
|---|---|---|
["text"] or omitted |
Thinker only | Text |
["audio"] |
Thinker + Talker | Audio (speech) |
["text", "audio"] |
Thinker + Talker | Text + Audio |
For ready-to-copy curl examples (text / audio / multimodal input, SSE
streaming, reasoning mode), see the recipe at
recipes/inclusionAI/Ming-flash-omni-2.0.md.
OpenAI Python SDK — streaming
from openai import OpenAI
client = OpenAI(base_url="http://localhost:8091/v1", api_key="EMPTY")
response = client.chat.completions.create(
model="Jonathan1909/Ming-flash-omni-2.0",
messages=[
{"role": "system", "content": [{"type": "text", "text": "你是一个友好的AI助手。\n\ndetailed thinking off"}]},
{"role": "user", "content": "请详细介绍鹦鹉的生活习性。"},
],
modalities=["text"],
stream=True,
)
for chunk in response:
for choice in chunk.choices:
if hasattr(choice, "delta") and choice.delta.content:
print(choice.delta.content, end="", flush=True)
print()
The --stream flag on the Python client script above shows the same pattern
driven by the shared multimodal client.