license: apache-2.0
language:
- en
tags:
- chat
- audio
- audio-text-to-text
Qwen2-Audio-7B
简介
Qwen2-Audio是通义千问大音频语言模型的全新系列。该模型能够接收多种音频信号输入,并根据语音指令执行音频分析或直接生成文本响应。我们引入了两种独特的音频交互模式:
- 语音聊天:用户无需文本输入即可与Qwen2-Audio自由进行语音交互;
- 音频分析:用户可在交互过程中提供音频和文本指令进行分析;
本次我们发布了Qwen2-Audio-7B和Qwen2-Audio-7B-Instruct,分别为预训练模型和对话模型。
更多详情请参阅我们的博客、GitHub及技术报告。
环境要求
Qwen2-Audio的代码已集成至最新版Hugging Face transformers库,建议通过命令pip install git+https://github.com/huggingface/transformers
从源码安装,否则可能遇到以下报错:
KeyError: 'qwen2-audio'
快速开始
以下代码片段展示了如何加载处理器与模型,并详细说明如何使用预训练的Qwen2-Audio基础模型生成内容。
from io import BytesIO
from urllib.request import urlopen
import librosa
from transformers import AutoProcessor, Qwen2AudioForConditionalGeneration
model = Qwen2AudioForConditionalGeneration.from_pretrained("Qwen/Qwen2-Audio-7B" ,trust_remote_code=True)
processor = AutoProcessor.from_pretrained("Qwen/Qwen2-Audio-7B" ,trust_remote_code=True)
prompt = "<|audio_bos|><|AUDIO|><|audio_eos|>生成英文描述:"
url = "https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen-Audio/glass-breaking-151256.mp3"
audio, sr = librosa.load(BytesIO(urlopen(url).read()), sr=processor.feature_extractor.sampling_rate)
inputs = processor(text=prompt, audios=audio, return_tensors="pt")
generated_ids = model.generate(**inputs, max_length=256)
generated_ids = generated_ids[:, inputs.input_ids.size(1):]
response = processor.batch_decode(generated_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False)[0]
引用
如果您觉得我们的工作有帮助,欢迎引用。
@article{Qwen2-Audio,
title={Qwen2-Audio技术报告},
author={褚云飞、徐瑾、杨谦、魏浩杰、魏希品、郭志芳、冷毅冲、吕元君、何金正、林俊旸、周畅、周靖人},
journal={arXiv预印本 arXiv:2407.10759},
year={2024}
}
@article{Qwen-Audio,
title={Qwen-Audio:通过统一的大规模音频语言模型推进通用音频理解},
author={褚云飞、徐瑾、周晓环、杨谦、张士强、严志杰、周畅、周靖人},
journal={arXiv预印本 arXiv:2311.07919},
year={2023}
}