Files

94 lines
3.1 KiB
Markdown
Raw Permalink Normal View History

# Covo-Audio-Chat
> Online serving for audio chat
## Summary
- Vendor: Tencent
- Model: `tencent/Covo-Audio-Chat`
- Task: Audio chat — audio (and optional text) input, interleaved text + audio output
- Mode: Online serving with the OpenAI-compatible API (offline inference also supported)
- Maintainer: Community
## When to use this recipe
Use this recipe when you want a known-good starting point for serving
`tencent/Covo-Audio-Chat` with vLLM-Omni on a single 80 GB-class GPU and
validate the deployment with the bundled client example.
## References
- Related example under `examples/`:
[`examples/online_serving/covo_audio/README.md`](../../examples/online_serving/covo_audio/README.md)
- Offline end-to-end script:
[`examples/offline_inference/covo_audio/end2end.py`](../../examples/offline_inference/covo_audio/end2end.py)
- Deploy config:
[`vllm_omni/deploy/covo_audio.yaml`](../../vllm_omni/deploy/covo_audio.yaml)
- Pipeline topology:
[`vllm_omni/model_executor/models/covo_audio/pipeline.py`](../../vllm_omni/model_executor/models/covo_audio/pipeline.py)
## Hardware Support
This recipe currently documents one tested reference configuration for
CUDA GPU serving. The fused thinker+talker stage and the BigVGAN code2wav
stage both run on the same physical device.
## GPU
### 1x A100 80GB
#### Environment
- OS: Linux
- Python: 3.12
- Driver / runtime: NVIDIA CUDA 12.x with an A100 80 GB GPU
- vLLM version: Match the repository requirements for your checkout
- vLLM-Omni version or commit: Use the commit you are deploying from
- Extra Python deps: `torchdiffeq`, `librosa`
#### Command
Install the two runtime-only deps that are not pulled in by vLLM-Omni itself:
```bash
pip install torchdiffeq librosa
```
Start the server from the repository root:
```bash
CUDA_VISIBLE_DEVICES=0 vllm serve tencent/Covo-Audio-Chat --omni \
--trust-remote-code --port 18091
```
The deploy config at `vllm_omni/deploy/covo_audio.yaml` is loaded
automatically by the model registry.
#### Verification
With the server ready, send a test request via the bundled client:
```bash
cd examples/online_serving/covo_audio
python openai_chat_completion_client.py
```
Expected: the client prints the generated text and writes an output WAV
file to the current directory.
#### Notes
- Memory usage: Stage 0 (7B LLM) ~16 GiB + stage 1 (BigVGAN vocoder)
~2 GiB, both resident on the same device.
- Key flags: `--omni` and `--trust-remote-code` are both required.
- System prompt: the bundled `openai_chat_completion_client.py` and
`end2end.py` already include `COVO_AUDIO_SYSTEM_PROMPT` (defined in
`vllm_omni/model_executor/models/covo_audio/prompt_utils.py`) in the
system message by default. When integrating your own client, make sure
to include it — without it, stage 0 emits text-only tokens and the
output audio is silent.
- Stage 1 runs with `enforce_eager: true` and `dtype: float32` — see the
header of `deploy/covo_audio.yaml` for the specific reasons.
- Known limitations: this starter recipe covers the single-GPU online-serving
path only; multi-GPU layouts and platform-specific overrides are not
documented here.