当前位置:   article > 正文

如何使用阿里云AMD CPU云服务器(g8a)和龙蜥容器镜像,基于通义千问Qwen-Audio-Chat搭建语音AI服务助手_python+qwen-audio-chat实时识别语音

python+qwen-audio-chat实时识别语音

Qwen-Audio是阿里云研发的大规模音频语言模型(Large Audio Language Model)。Qwen-Audio可以以多种音频(包括说话人语音、自然音、音乐、歌声)和文本作为输入,并以文本作为输出。在Qwen-Audio的基础上,利用对齐机制打造出基于大语言模型的语音AI助手Qwen-Audio-Chat,它支持更灵活的交互方式,包括多音频、多轮问答、创作等能力。支持多种语音场景,包括声音理解和推理、音乐欣赏、多音频分析、多轮音频-文本交错对话以及外部语音工具的使用等。

重要

Qwen-Audio-Cha模型依照LICENSE开源,免费商用需填写商业授权申请。您应自觉遵守第三方模型的用户协议、使用规范和相关法律法规,并就使用第三方模型的合法性、合规性自行承担相关责任。

创建ECS实例

  1. 前往实例创建页

  2. 按照界面提示完成参数配置,创建一台ECS实例。

    需要注意的参数如下,其他参数的配置,请参见自定义购买实例

    • 实例:Qwen-Audio-Chat模型的推理过程需要耗费大量的计算资源,运行时占用大量内存,为了保证模型运行的稳定,实例规格至少需要选择ecs.g8a.4xlarge(64 GiB内存)。

    • 镜像:Alibaba Cloud Linux 3.2104 LTS 64位。

    • 公网IP:选中分配公网IPv4地址,带宽计费模式选择按使用流量,带宽峰值设置为100 Mbps。以加快模型下载速度。

      image..png

    • 系统盘:Qwen-Audio-Chat的运行需要下载多个模型文件,会占用大量存储空间,为了保证模型顺利运行,建议系统盘设置为100 GiB。

  3. 添加安全组规则。

    在ECS实例安全组的入方向添加安全组规则并放行22、443、7860端口(用于访问WebUI服务)。具体操作,请参见添加安全组规则

  4. 创建完成后,在ECS实例页面,获取公网IP地址。

    说明

    公网IP地址用于进行AI对话时访问WebUI服务。

    image.png

创建Docker运行环境

  1. 远程连接该ECS实例。

    具体操作,请参见通过密码或密钥认证登录Linux实例

  2. 安装Docker。

    具体操作,请参见在Alibaba Cloud Linux 3实例中安装Docker

  3. 创建并运行PyTorch AI容器。

    龙蜥社区提供了丰富的基于Anolis OS的容器镜像,包括针对AMD优化过的PyTorch镜像,您可以直接使用该镜像直接创建一个PyTorch运行环境。

    以下命令首先拉取容器镜像,随后使用该镜像创建一个以分离模式运行的、名为pytorch-amd的容器,并将用户的家目录映射到容器中,以保留开发内容。

    1. sudo docker pull registry.openanolis.cn/openanolis/pytorch-amd:1.13.1-23-zendnn4.1
    2. sudo docker run -d -it --name pytorch-amd --net host -v $HOME:/root registry.openanolis.cn/openanolis/pytorch-amd:1.13.1-23-zendnn4.1

部署Qwen-Audio-Chat

步骤一:安装配置模型所需软件
  1. 进入容器环境。

    sudo docker exec -it -w /root pytorch-amd /bin/bash

    重要

    后续命令需在容器环境中执行,如意外退出,请使用以上命令重新进入容器环境。如需查看当前环境是否为容器,可以执行cat /proc/1/cgroup | grep docker查询(有回显信息则为容器环境)。

  2. 安装部署Qwen-Audio-Chat所需的软件。

    yum install -y git git-lfs wget tmux xz gperftools-libs anolis-epao-release
  3. 启用Git LFS。

    下载预训练模型需要Git LFS的支持。

    git lfs install
步骤二:下载源码与模型
  1. 创建一个tmux session。

    tmux

    说明

    下载预训练模型耗时较长,且成功率受网络情况影响较大,建议在tmux session中下载,以免ECS断开连接导致下载模型中断。

  2. 下载Qwen-Audio-Chat项目源码和预训练模型。

    1. git clone https://github.com/QwenLM/Qwen-Audio.git
    2. git clone https://www.modelscope.cn/qwen/Qwen-Audio-Chat.git qwen-audio-chat
  3. 查看当前目录。

    ls -l 

    下载完成后,当前目录显示如下。

    image.png

步骤三:部署运行环境
  1. 更换pip下载源。

    在安装依赖包之前,建议您更换pip下载源以加速安装。

    1. 创建pip文件夹。

      mkdir -p ~/.config/pip
    2. 配置pip安装镜像源。

      1. cat > ~/.config/pip/pip.conf <<EOF
      2. [global]
      3. index-url=http://mirrors.cloud.aliyuncs.com/pypi/simple/
      4. [install]
      5. trusted-host=mirrors.cloud.aliyuncs.com
      6. EOF
  2. 安装Python运行依赖。

    1. yum install -y python3-transformers python-einops
    2. pip install typing_extensions==4.5.0 tiktoken transformers_stream_generator accelerate gradio
  3. 安装ffmpeg。

    1. 下载ffmpeg安装包。

      说明

      ffmpeg安装包下载较慢,建议您直接下载ffmpeg后,上传到当前用户家目录(例如/home/ecs-user/)下。

      wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-6.1-amd64-static.tar.xz
    2. 解压并安装ffmpeg。

      1. tar -xf ffmpeg-6.1-amd64-static.tar.xz
      2. cp ffmpeg-6.1-amd64-static/{ffmpeg,ffprobe} /usr/local/bin
      3. rm -rf ffmpeg-6.1-amd64-static*
  4. 设置环境变量OMP_NUM_THREADSGOMP_CPU_AFFINITY

    ZenDNN运行库需要针对硬件平台显式设置环境变量OMP_NUM_THREADSGOMP_CPU_AFFINITY

    1. cat > /etc/profile.d/env.sh <<EOF
    2. export OMP_NUM_THREADS=\$(nproc --all)
    3. export GOMP_CPU_AFFINITY=0-\$(( \$(nproc --all) - 1 ))
    4. EOF
    5. source /etc/profile
步骤四:进行AI对话
  1. 执行如下命令,开启WebUI服务。

    1. cd ~/Qwen-Audio
    2. export LD_PRELOAD=/usr/lib64/libtcmalloc.so.4
    3. python3 web_demo_audio.py -c=${HOME}/qwen-audio-chat/ --cpu-only --server-name=0.0.0.0 --server-port=7860

    当出现如下信息时,表示WebUI服务启动成功。

    image.png

  2. 在浏览器地址栏输入http://<ECS公网IP地址>:7860,进入Web页面。

  3. 单击Upload(上传文件)上传语音文件,然后在Input对话框中,输入对话内容,单击Submit(发送),即可开始语音问答、创作等。

    说明

    以下示例远非Qwen-Audio-Chat能力的极限,您可以通过更换不同的语音文件和提示词(Prompt),来进一步挖掘Qwen-Audio-Chat的能力。

    image.png

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号