许可协议: MIT
语言支持:
技术标签:
- 音频处理
- 音频语言模型
- 语音识别
- 音频理解
- 文本转语音
- 音频生成
- 对话系统
库名称: kimi-audio
金鸣音频模型
🤗 金鸣音频7B基础版 | 🤗 金鸣音频7B指令版 | 📑 技术报告
模型介绍
我们推出金鸣音频模型——一个在音频理解、生成与对话方面表现卓越的开源音频基础模型。本仓库提供金鸣音频7B指令版的模型检查点。
金鸣音频被设计为通用音频基础模型,能在统一框架下处理多种音频处理任务,主要特性包括:
- 全能处理能力:支持语音识别(ASR)、音频问答(AQA)、音频描述(AAC)、语音情感识别(SER)、声学事件/场景分类(SEC/ASC)以及端到端语音对话等多样化任务
- 顶尖性能表现:在多项音频基准测试中达到最先进水平(详见技术报告)
- 超大规模预训练:基于超1300万小时的多样化音频数据(语音/音乐/环境声)及文本数据训练
- 创新架构设计:采用混合音频输入(连续声学特征+离散语义标记)与并行生成文本/音频标记的大语言模型核心架构
- 高效推理部署:配备基于流匹配的块流式解码器,实现低延迟音频生成
更多细节请参阅我们的GitHub仓库和技术报告。
环境要求
推荐通过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安装依赖:
pip install -r requirements.txt
若遇环境问题,可参考Dockerfile进行排查。
快速开始
以下示例展示如何使用金鸣音频7B指令版
实现音频转文本(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自动加载可能需要特定配置,请参考金鸣音频文档。错误: {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("金鸣音频推理示例完成。")
引用
若金鸣音频对您的研究或应用有所帮助,请引用我们的技术报告:
@misc{kimi_audio_2024,
title={金鸣音频技术报告},
author={金鸣团队},
year={2024},
eprint={arXiv:预印本编号},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
许可声明
本模型基于千问2.5-7B修改而来。源自千问2.5-7B的代码遵循Apache 2.0许可,其余代码采用MIT许可。