Full-duplex realtime speech interaction model and Docker demo.
This repository hosts the Lychee-FD full-duplex model checkpoint. The Docker runtime and demo code are maintained in the GitHub repository:
https://github.com/HITsz-TMG/Lychee-FD
The Docker demo needs two weight directories:
| Component | Source | Expected local directory |
|---|---|---|
| Lychee-FD full-duplex model | HIT-TMG/Lychee-FD, files at the repository root | lychee_full_duplex/ |
| Token2Wav vocoder | stepfun-ai/Step-Audio-2-mini, folder token2wav/ | token2wav/ |
The Lychee-FD checkpoint and Token2Wav checkpoint are intentionally separated. This model repository provides the Lychee-FD full-duplex checkpoint at the repository root. Please download the Token2Wav folder from Step-Audio-2-mini separately.
Create one local model root and put both directories under it:
/path/to/model-root/
lychee_full_duplex/
token2wav/
Download the Lychee-FD checkpoint:
hf download HIT-TMG/Lychee-FD \
--local-dir /path/to/model-root/lychee_full_duplex
Download Token2Wav from Step-Audio-2-mini:
huggingface-cli download stepfun-ai/Step-Audio-2-mini \
--include "token2wav/*" \
--local-dir /path/to/model-root
After downloading, the directory should look like:
/path/to/model-root/
lychee_full_duplex/
token2wav/
Clone the GitHub code repository:
git clone https://github.com/HITsz-TMG/Lychee-FD.git
cd Lychee-FD
Create a local Docker environment file:
cp .env.docker.example .env
Edit .env and replace the model paths:
LYCHEE_FD_IMAGE=ghcr.io/hitsz-tmg/lychee-fd:latest
# Host path on your machine.
HOST_MODEL_ROOT=/path/to/model-root
# Container paths. The host model root is mounted as /models.
CONTAINER_MODEL_ROOT=/models
ALLOWED_MODEL_ROOT=/models
# Main Lychee-FD checkpoint.
STEPAUDIO_MODEL_PATH=/models/lychee_full_duplex
# Token2Wav checkpoint downloaded from stepfun-ai/Step-Audio-2-mini.
STEPAUDIO_T2W_MODEL_PATH=/models/token2wav
Important path rule:
HOST_MODEL_ROOT is the path on your host machine.STEPAUDIO_MODEL_PATH and STEPAUDIO_T2W_MODEL_PATH are paths inside the
container.HOST_MODEL_ROOT to /models, so model paths inside
.env should usually start with /models.Start the demo:
docker compose pull
docker compose up
Open the frontend:
http://127.0.0.1:8084
For a remote server, replace 127.0.0.1 with the server IP.
By default, Token2Wav and the main backend use separate GPUs:
TOKEN2WAV_CUDA_VISIBLE_DEVICES=0
BACKEND_CUDA_VISIBLE_DEVICES=1
For a single-GPU machine, set both to 0:
TOKEN2WAV_CUDA_VISIBLE_DEVICES=0
BACKEND_CUDA_VISIBLE_DEVICES=0
If GPU memory is limited, reduce the vLLM maximum context length:
STEPAUDIO_VLLM_MAX_MODEL_LEN=8192
The frontend model list is loaded from model_presets_dev.json in the GitHub
repository. If you customize the model list, make sure the preset path uses the
container path:
{
"name": "lychee_full_duplex",
"model_path": "/models/lychee_full_duplex",
"backend_type": "vllm",
"mode": "stable"
}
After editing presets:
docker compose restart frontend
stepfun-ai/Step-Audio-2-mini; please
follow the license and usage terms of the upstream model repository.https://github.com/HITsz-TMG/Lychee-FD.Full-duplex realtime speech interaction model and Docker demo.
This repository hosts the Lychee-FD full-duplex model checkpoint. The Docker runtime and demo code are maintained in the GitHub repository:
https://github.com/HITsz-TMG/Lychee-FD
The Docker demo needs two weight directories:
| Component | Source | Expected local directory |
|---|---|---|
| Lychee-FD full-duplex model | HIT-TMG/Lychee-FD, files at the repository root | lychee_full_duplex/ |
| Token2Wav vocoder | stepfun-ai/Step-Audio-2-mini, folder token2wav/ | token2wav/ |
The Lychee-FD checkpoint and Token2Wav checkpoint are intentionally separated. This model repository provides the Lychee-FD full-duplex checkpoint at the repository root. Please download the Token2Wav folder from Step-Audio-2-mini separately.
Create one local model root and put both directories under it:
/path/to/model-root/
lychee_full_duplex/
token2wav/
Download the Lychee-FD checkpoint:
hf download HIT-TMG/Lychee-FD \
--local-dir /path/to/model-root/lychee_full_duplex
Download Token2Wav from Step-Audio-2-mini:
huggingface-cli download stepfun-ai/Step-Audio-2-mini \
--include "token2wav/*" \
--local-dir /path/to/model-root
After downloading, the directory should look like:
/path/to/model-root/
lychee_full_duplex/
token2wav/
Clone the GitHub code repository:
git clone https://github.com/HITsz-TMG/Lychee-FD.git
cd Lychee-FD
Create a local Docker environment file:
cp .env.docker.example .env
Edit .env and replace the model paths:
LYCHEE_FD_IMAGE=ghcr.io/hitsz-tmg/lychee-fd:latest
# Host path on your machine.
HOST_MODEL_ROOT=/path/to/model-root
# Container paths. The host model root is mounted as /models.
CONTAINER_MODEL_ROOT=/models
ALLOWED_MODEL_ROOT=/models
# Main Lychee-FD checkpoint.
STEPAUDIO_MODEL_PATH=/models/lychee_full_duplex
# Token2Wav checkpoint downloaded from stepfun-ai/Step-Audio-2-mini.
STEPAUDIO_T2W_MODEL_PATH=/models/token2wav
Important path rule:
HOST_MODEL_ROOT is the path on your host machine.STEPAUDIO_MODEL_PATH and STEPAUDIO_T2W_MODEL_PATH are paths inside the
container.HOST_MODEL_ROOT to /models, so model paths inside
.env should usually start with /models.Start the demo:
docker compose pull
docker compose up
Open the frontend:
http://127.0.0.1:8084
For a remote server, replace 127.0.0.1 with the server IP.
By default, Token2Wav and the main backend use separate GPUs:
TOKEN2WAV_CUDA_VISIBLE_DEVICES=0
BACKEND_CUDA_VISIBLE_DEVICES=1
For a single-GPU machine, set both to 0:
TOKEN2WAV_CUDA_VISIBLE_DEVICES=0
BACKEND_CUDA_VISIBLE_DEVICES=0
If GPU memory is limited, reduce the vLLM maximum context length:
STEPAUDIO_VLLM_MAX_MODEL_LEN=8192
The frontend model list is loaded from model_presets_dev.json in the GitHub
repository. If you customize the model list, make sure the preset path uses the
container path:
{
"name": "lychee_full_duplex",
"model_path": "/models/lychee_full_duplex",
"backend_type": "vllm",
"mode": "stable"
}
After editing presets:
docker compose restart frontend
stepfun-ai/Step-Audio-2-mini; please
follow the license and usage terms of the upstream model repository.https://github.com/HITsz-TMG/Lychee-FD.