LLaMA-Omni 2 是基于 Qwen2.5-0.5B/1.5B/3B/7B/14B/32B-Instruct 模型的一系列语音语言模型。与 LLaMA-Omni 类似,它可以同时生成文本和语音应答,从而实现高质量、低延迟的语音交互。通过新引入的流式自回归语音解码器,LLaMA-Omni 2 与 LLaMA-Omni 相比实现了更高的语音质量。

安装
bash
git clone https://github.com/ictnlp/LLaMA-Omni2
cd LLaMA-Omni2
conda create -n llama-omni2 python=3.10
conda activate llama-omni2
pip install -e .
快手上手
下载Whisper large v3
bash
import whisper
model = whisper.load_model("large-v3", download_root="models/speech_encoder/")
下载 CosyVoice 2
bash
huggingface-cli download --resume-download ICTNLP/cosy2_decoder --local-dir models/cosy2_decoder
从 Hugging Face 下载 LLaMA-Omni2 系列型号。LLaMA-Omni2-0.5B/1.5B/3B/7B/14B 仅支持英文,而 LLaMA-Omni2-0.5B/1.5B/3B/7B/14B/32B-Bilingual 支持中英文。
LLaMA-Omni2 | LLaMA-Omni2-Bilingual |
---|---|
🤗 LLaMA-Omni2-0.5B | 🤗 LLaMA-Omni2-0.5B-Bilingual |
🤗 LLaMA-Omni2-1.5B | 🤗 LLaMA-Omni2-1.5B-Bilingual |
🤗 LLaMA-Omni2-3B | 🤗 LLaMA-Omni2-3B-Bilingual |
🤗 LLaMA-Omni2-7B | 🤗 LLaMA-Omni2-7B-Bilingual |
🤗 LLaMA-Omni2-14B | 🤗 LLaMA-Omni2-14B-Bilingual |
- | 🤗 LLaMA-Omni2-32B-Bilingual |
Gradio
controller
bash
python -m llama_omni2.serve.controller --host 0.0.0.0 --port 10000
server
bash
python -m llama_omni2.serve.gradio_web_server --controller http://localhost:10000 --port 8000 --vocoder-dir models/cosy2_decoder
worker
bash
python -m llama_omni2.serve.model_worker --host 0.0.0.0 --controller http://localhost:10000 --port 40000 --worker http://localhost:40000 --model-path models/$model_name --model-name $model_name
访问 http://localhost:8000/ 并与 LLaMA-Omni2 互动!
本地推理
bash
output_dir=examples/$model_name
mkdir -p $output_dir
python llama_omni2/inference/run_llama_omni2.py \
--model_path models/$model_name \
--question_file examples/questions.json \
--answer_file $output_dir/answers.jsonl \
--temperature 0 \
--s2s
python llama_omni2/inference/run_cosy2_decoder.py \
--input-path $output_dir/answers.jsonl \
--output-dir $output_dir/wav \
--lang en
鸣谢
- CosyVoice 2:我们使用 CosyVoice 2 的预训练语音标记器、语流匹配模型和声码器。
- SLAM-LLM:我们借用了语音编码器和语音适配器的一些代码。