🚀 Kimi-Audio
Kimi-Audio 是一个开源的音频基础模型,在音频理解、生成和对话方面表现出色。它能在单一统一框架内处理多种音频处理任务,为音频领域的研究和应用提供了强大支持。
🚀 快速开始
环境准备
我们建议你构建一个 Docker 镜像来运行推理。克隆推理代码后,你可以使用 docker build
命令构建镜像:
git clone https://github.com/MoonshotAI/Kimi-Audio
git submodule update --init
cd Kimi-Audio
docker build -t kimi-audio:v0.1 .
或者,你也可以使用我们预先构建的镜像:
docker pull moonshotai/kimi-audio:v0.1
另外,你还可以通过以下命令安装依赖:
pip install -r requirements.txt
如果遇到任何环境问题,请参考 Dockerfile。
代码示例
以下示例展示了如何使用 Kimi-Audio-7B-Instruct
模型从音频生成文本(自动语音识别,ASR),以及在对话回合中生成文本和语音:
import soundfile as sf
from kimia_infer.api.kimia import KimiAudio
import torch
model_id = "moonshotai/Kimi-Audio-7B-Instruct"
device = "cuda" if torch.cuda.is_available() else "cpu"
try:
model = KimiAudio(model_path=model_id, load_detokenizer=True)
model.to(device)
except Exception as e:
print(f"从 HF Hub 自动加载可能需要特定设置。")
print(f"参考 Kimi-Audio 文档。尝试本地路径示例(更新路径!)。错误: {e}")
sampling_params = {
"audio_temperature": 0.8,
"audio_top_k": 10,
"text_temperature": 0.0,
"text_top_k": 5,
"audio_repetition_penalty": 1.0,
"audio_repetition_window_size": 64,
"text_repetition_penalty": 1.0,
"text_repetition_window_size": 16,
}
asr_audio_path = "asr_example.wav"
qa_audio_path = "qa_example.wav"
messages_asr = [
{"role": "user", "message_type": "text", "content": "请转录以下音频:"},
{"role": "user", "message_type": "audio", "content": asr_audio_path}
]
_, text_output = model.generate(messages_asr, **sampling_params, output_type="text")
print(">>> ASR 输出文本: ", text_output)
messages_conversation = [
{"role": "user", "message_type": "audio", "content": qa_audio_path}
]
wav_output, text_output = model.generate(messages_conversation, **sampling_params, output_type="both")
output_audio_path = "output_audio.wav"
sf.write(output_audio_path, wav_output.detach().cpu().view(-1).numpy(), 24000)
print(f">>> 对话输出音频保存到: {output_audio_path}")
print(">>> 对话输出文本: ", text_output)
print("Kimi-Audio 推理示例完成。")
✨ 主要特性
- 通用能力:能够处理多种任务,如自动语音识别(ASR)、音频问答(AQA)、音频字幕生成(AAC)、语音情感识别(SER)、声音事件/场景分类(SEC/ASC)以及端到端语音对话。
- 先进性能:在众多音频基准测试中取得了最先进的成果(详见我们的技术报告)。
- 大规模预训练:在超过 1300 万小时的多样化音频数据(语音、音乐、声音)和文本数据上进行了预训练。
- 新颖架构:采用混合音频输入(连续声学 + 离散语义标记)和具有并行头的大语言模型(LLM)核心,用于文本和音频标记生成。
- 高效推理:基于流匹配的分块流式去标记器,实现低延迟音频生成。
📚 详细文档
如需更多详细信息,请参考我们的 GitHub 仓库 和 技术报告。
📄 许可证
该模型基于 Qwen 2.5-7B 进行修改。源自 Qwen2.5-7B 的代码遵循 Apache 2.0 许可证。代码的其他部分遵循 MIT 许可证。
📖 引用
如果你在研究或应用中发现 Kimi-Audio 很有用,请引用我们的技术报告:
@misc{kimi_audio_2024,
title={Kimi-Audio Technical Report},
author={Kimi Team},
year={2024},
eprint={arXiv:placeholder},
archivePrefix={arXiv},
primaryClass={cs.CL}
}