本地部署SenseVoice(包括离线设备操作)

Anaconda3

        Anaconda Installers and Packages

SenseVoice

        魔搭社区

FFmpeg
        FFmpeg

安装Anaconda3(Windows)

下载完成后,自定义路径后安装。在开始菜单中出现Anaconda Prompt说明安装成功。

安装Anaconda3(Linux)

# 下载脚本文件
wget https://repo.anaconda.com/archive/Anaconda3-2024.10-1-Linux-x86_64.sh
# 给予执行权限
chmod +x Anaconda3-2024.10-1-Linux-x86_64.sh
# 运行安装
./Anaconda3-2024.10-1-Linux-x86_64.sh

######  安装中  ######

# 验证安装和环境变量是否设置成功
# 检查conda版本
conda --version
# 查看conda环境列表
conda info --envs

 注:安装过程中可自定义安装路径,其他都选择回车或yes。

注:安装过程中是否初始化conda环境:

  • 可选择yes,将会在默认shell环境脚本(如~/.bashrc)文件末,添加conda init内容。

  • 可选择no,可自己配置,在shell环境脚本中添加conda init即可,可参考下面配置环境变量。

项目下载

cd /home/wwwroot
git clone --recursive https://github.com/FunAudioLLM/SenseVoice.git

依赖下载

Windows须打开Anaconda Prompt执行

cd /home/wwwroot
conda create -n sensevoice python=3.10
conda activate sensevoice
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com

模型下载

cd /home/wwwroot/SenseVoice
mkdir icc
cd /home/wwwroot/SenseVoice/icc
git clone https://www.modelscope.cn/iic/SenseVoiceSmall.git

★离线设备所需操作

联网设备文件拷贝

  1. anaconda安装包
  2. 将整个SenseVoice文件夹压缩为SenseVoice.zip
  3. 将sensevoice虚拟环境中的所有依赖导出
conda activate sensevoice
cd /home/wwwroot
conda pack -n sensevoice -o sensevoice.tar.gz

将上面的3个文件(anaconda安装包、SenseVoice.zip、sensevoice.tar.gz)全部拷贝到离线设备中。

离线设备

  1. anaconda安装
  2. 解压SenseVoice.zip
  3. 依赖导入
cd /home/wwwroot/SenseVoice
conda create -n sensevoice python=3.10
conda activate sensevoice
cd <sensevoice.tar.gz所在的文件夹>
tar xzvf sensevoice.tar.gz -C /home/anaconda3/envs/sensevoice

项目运行

cd /home/wwwroot/SenseVoice
conda activate sensevoice
python webui.py

备注

修改端口

Gradio 的默认端口是 7860。可以通过 launch() 方法的 server_name 和 server_port 改访问IP和运行端口号

demo.launch(server_name="0.0.0.0", server_port=8585)

FFmpeg缺失

RuntimeError: Cannot load audio from file: `ffprobe` not found. Please install `ffmpeg` in your system to use non-WAV audio file formats and make sure `ffprobe` is in your PATH

安装 FFmpeg

Windows 安装步骤:下载FFmpeg - 解压文件 - 添加到系统PATH - 编辑PATH - 新增FFmpeg的bin路径,如C:\ffmpeg\bin

WEB服务后台运行

方法1:使用nohup

conda activate sensevoice
nohup python webui.py > output.log 2>&1 &

方法2:使用systemd

1.创建一个服务文件,例如 /etc/systemd/system/sensevoice.service

[Unit]
Description=SenseVoice WebUI Service
After=network.target

[Service]
User=root
WorkingDirectory=/home/wwwroot/SenseVoice
ExecStart=/home/anaconda3/envs/sensevoice/bin/python /home/wwwroot/SenseVoice/webui.py
Restart=always

[Install]
WantedBy=multi-user.target

2.启用并启动服务

# 启用服务
sudo systemctl enable sensevoice
# 启动服务
sudo systemctl start sensevoice
# 查看服务状态
sudo systemctl status sensevoice

API服务后台运行

方法1:使用nohup

conda activate sensevoice
nohup uvicorn api:app --host 0.0.0.0 --port 8686 --reload

方法2:使用systemd

1.创建一个服务文件,例如 /etc/systemd/system/sensevoice-api.service

[Unit]
Description=SenseVoice API service
After=network.target

[Service]
User=root
WorkingDirectory=/home/wwwroot/SenseVoice
ExecStart=/home/anaconda3/envs/sensevoice/bin/uvicorn api:app --host 0.0.0.0 --port 8686 --reload
Restart=always
# 将标准输出和标准错误重定向到文件
StandardOutput=append:/home/wwwroot/SenseVoice/api.log
StandardError=append:/home/wwwroot/SenseVoice/api.log

[Install]
WantedBy=multi-user.target

 2.启用并启动服务

# 启用服务
sudo systemctl enable sensevoice-api
# 启动服务
sudo systemctl start sensevoice-api
# 查看服务状态
sudo systemctl status sensevoice-api
### 安装前准备 对于CentOS 7环境下的SenseVoice离线部署,确保操作系统已经更新到最新状态并安装必要的依赖库[^1]。由于是离线部署,提前准备好所有所需的软件包至关重要。 ```bash yum install -y gcc make automake autoconf libtool wget tar unzip openssl-devel bzip2-devel expat-devel gettext-devel curl-devel zlib-devel perl-ExtUtils-MakeMaker ncurses-devel git cmake python3-pip ``` ### 下载所需资源 考虑到网络连接不可用,在另一台有互联网访问权限的机器上下载SenseVoice及其依赖项,并将其传输至目标服务器。这通常包括但不限于: - SenseVoice官方发布的对应版本的安装文件。 - Python虚拟环境工具`virtualenv`或`conda`以及Python包管理器`pip`所必需的wheel文件。 - 如果SenseVoice依赖于特定数据库,则需相应数据库系统的二进制分发版或者RPM包形式。 ### 配置本地YUM源 为了支持离线模式下其他组件的安装需求,可以创建基于USB驱动器或其他存储介质上的自定义YUM仓库来代替在线镜像站[^2]。 #### 创建ISO映像作为临时仓库 假设已有一个完整的CentOS DVD ISO影像,挂载此ISO并将路径添加到/etc/yum.repos.d/目录中的新repo配置文件里。 ```bash mkdir /mnt/cdrom && mount -o loop CentOS-7-x86_64-DVD.iso /mnt/cdrom/ echo "[local] name=Local Repository baseurl=file:///mnt/cdrom enabled=1 gpgcheck=0" > /etc/yum.repos.d/local.repo ``` ### 安装SenseVoice服务端 解压之前获取的SenseVoice压缩包,按照官方文档指示完成初始化设置过程。注意调整防火墙规则允许外部设备通过指定端口访问API接口[^3]。 ```bash tar zxvf sensevoice-server.tar.gz -C /opt/ cd /opt/sensevoice/installer/ ./setup.sh --offline-mode firewall-cmd --add-port=<api_port>/tcp --permanent systemctl restart firewalld.service ``` ### 数据库初始化与迁移 如果SenseVoice使用关系型数据库(如MySQL/MariaDB),则需要执行SQL脚本来建立表结构并导入初始数据集;如果是NoSQL解决方案(例如MongoDB),可能涉及更复杂的集群搭建工作流[^4]。 ```sql CREATE DATABASE IF NOT EXISTS `sensevoice_db`; USE `sensevoice_db`; SOURCE /path/to/init.sql; ``` ### 测试验证 最后一步是对整个系统进行全面的功能测试,确认各个模块正常运作无误后即可投入使用。建议编写自动化脚本定期备份重要资料以防意外丢失[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值