HeyGem ai数字人本地部署(服务端linux+客户端windows)
linux部署服务端
- 配置docker-cmpose.yml文件
networks:
ai_network:
driver: bridge
services:
heygem-tts:
image: guiji2025/fish-speech-ziming
container_name: heygem-tts
restart: always
runtime: nvidia
environment:
- NVIDIA_VISIBLE_DEVICES=0
- NVIDIA_DRIVER_CAPABILITIES=compute,graphics,utility,video,display
ports:
- '18180:8080'
volumes:
- ./heygem_data/heygem_data/voice/data:/code/data #./heygem_data/heygem_data/ 需要作为Samba的共享目录
command: /bin/bash -c "/opt/conda/envs/python310/bin/python3 tools/api_server.py --listen 0.0.0.0:8080"
networks:
- ai_network
heygem-asr:
image: guiji2025/fun-asr
container_name: heygem-asr
restart: always
runtime: nvidia
privileged: true
working_dir: /workspace/FunASR/runtime
ports:
- '10095:10095'
command: sh /run.sh
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
networks:
- ai_network
heygem-f2f:
image: guiji2025/heygem.ai
container_name: heygem-f2f
restart: always
runtime: nvidia
privileged: true
volumes:
- ./heygem_data/heygem_data/face2face:/code/data
environment:
- PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:512
deploy:
resources:
reservations:
devices:
- capabilities: [gpu]
shm_size: '8g'
ports:
- '8383:8383'
command: python /code/app_local.py
networks:
- ai_network
- 在docker-compose.yml所在目录下,在通过docker-compose启动容器
docker-compose up -d
-
启动成功,通过docker ps查看进程
-
进入heygem-tts容器内config目录
docker exec -it heygem-tts /bin/bash
cd config
vim config.py
- 修改对应部分数据为本机IP
linux 配置Samba
如果在 Windows11 家庭中文版 系统中没有 NFS 服务 或 NFS 客户端 选项,所以我们选择使用 Samba 共享替代 NFS。
示例为在 CentOS 8 上安装和配置 Samba
-
安装 Samba:
dnf install samba samba-client samba-common -y
-
将docker-compose文件设置的数据存储文件为 Samba 共享目录:
mkdir -p ./heygem_data #建议写绝对路径
chmod 777 ./heygem_data #建议写绝对路径
-
配置 Samba 共享:
编辑 /etc/samba/smb.conf 文件,在文件末尾添加以下内容:[heygem] path = /mnt/disk0/HeyGem/heygem_data browseable = yes writable = yes guest ok = no create mask = 0777 directory mask = 0777 valid users = @sambashare
-
创建 Samba 用户:
useradd sambashare #sambashare为conf文件设置的用户名
smbpasswd -a sambashare
按提示设置 Samba 用户的密码。
-
启动 Samba 服务:
systemctl start smb systemctl enable smb systemctl start nmb systemctl enable nmb
-
配置防火墙:
firewall-cmd --permanent --add-service=samba
firewall-cmd --reload
- 在 Windows 客户端上访问 Samba 共享
- 打开我的电脑,选择映射网络驱动器
-
其中, 192.168.23.183 是 CentOS 8 服务器的 IP 地址
-
按提示输入 Samba 用户名和密码(在 CentOS 上创建的 Samba 用户)。
-
成功连接后,你就可以像访问本地文件夹一样访问 Samba 共享目录了。
客户端部署
-
修改配置文件src\main\config\config.js
192.168.23.183 为linux服务端的ip地址
- 修改音视频存储的路径为Samba 挂在的客户端
K: 是网络驱动器的路径,根据自己设置的进行配置
- 重新打包编译客户端
npm run build:win
-
打包完目录下会生成一个dist文件
-
直接运行HeyGem-1.0.2-setup.exe安装客户端
-
运行效果如下