BLSP-Emo是一个中英双语共情语音对话模型,由通义实验室与中国科学院自动化研究所联合开源,旨在赋予大语言模型理解语音输入中的语义与情感,并生成共情回复的能力。
BLSP-Emo的模型架构通过一个模态适配器将语音编码器Whisper和大语言模型Qwen-7B-Chat连接起来,实现了更好的语义和情感建模。
BLSP-Emo通过两阶段的对齐训练利用现有的语音识别(ASR)和语音情感识别(SER)数据,将语音中的语言信息和副语言情感信号有效对齐至大语言模型的语义理解空间中。
在语义对齐阶段依托于ASR数据,确保大语言模型对语义内容一致的语音和文本展现出一致的生成行为。
在情感对齐阶段,利用SER数据训练大语言模型,展示一致的生成行为,实现对语音输入中情感的理解和共情回复。
BLSP-Emo不仅能够执行多模态语音语言指令,还能对用户语音请求中蕴含的情感进行深刻的理解与共情响应,为构建更加人性化、更具有共情力的AI交互体验奠定了基础。
github项目地址:https://github.com/cwang621/blsp-emo。
一、环境安装
1、python环境
建议安装python版本在3.10以上。
2、pip库安装
pip install torch==2.0.1+cu118 torchvision==0.15.2+cu118 torchaudio==2.0.2 --index-url https://download.pytorch.org/whl/cu118
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
3、Qwen-7B-Chat Model模型下载:
git lfs install
git clone https://www.modelscope.cn/iic/Blsp-Emo-Qwen-7B.git
4、whisper-large-v2模型下载(用于模型训练):
git lfs install
git clone https://huggingface.co/openai/whisper-large-v2
二、功能测试
1、命令行运行测试:
(1)语音情感识别命令测试
instruction="Please identify the emotion tone of the speech provided below. Select from the following options: neutral, sad, angry, happy, or surprise.
Speech: "
python3 generate.py \
--input_file "examples/test/test_iemocap.jsonl" \
--output_file "examples/test/output_iemocap.jsonl" \
--blsp_model "blsp-emo-model/Blsp-Emo-Qwen-7B" \ --instruction "$instruction" \
--audio_field "audio" \
--reference_field "emotion"
对于SpeechAlpaca,命令会有如下:
python3 generate.py \
--input_file "examples/test/test_alpaca.jsonl" \
--output_file "examples/test/output_alpaca.jsonl" \
--blsp_model "blsp-emo-model/Blsp-Emo-Qwen-7B" \
--instruction "" \
--audio_field "audio" \
--max_new_tokens 256 \
--batch_size 4 \
--use_emotion True
(2)web端测试
如果想在web端与模型进行交互对话,可以执行命令:
python chat_demo.py \
--blsp_model "blsp-emo-model/Blsp-Emo-Qwen-7B" \
--use_emotion
如果启动的web代码没有响应,可以将gradio的启动代码demo.launch(share=False, enable_queue=True)
修改为:
demo.launch(server_name="0.0.0.0" , server_port=7860, debug=True, share=False, enable_queue=True)
(3)python代码调用测试
未完......
更多详细的内容欢迎关注:杰哥新技术