# ViGent 手动部署指南 ## 服务器信息 | 配置 | 规格 | |------|------| | 服务器 | Dell PowerEdge R730 | | CPU | 2× Intel Xeon E5-2680 v4 (56 线程) | | 内存 | 192GB DDR4 | | GPU 0 | NVIDIA RTX 3090 24GB | | GPU 1 | NVIDIA RTX 3090 24GB (用于 MuseTalk) | | 部署路径 | `/home/rongye/ProgramFiles/ViGent` | --- ## 步骤 1: 环境检查 ```bash # 检查 GPU nvidia-smi # 检查 Python 版本 (需要 3.10+) python3 --version # 检查 Node.js 版本 (需要 18+) node --version # 检查 FFmpeg ffmpeg -version ``` 如果缺少 FFmpeg: ```bash sudo apt update sudo apt install ffmpeg ``` --- ## 步骤 2: 创建目录结构 ```bash mkdir -p /home/rongye/ProgramFiles/ViGent cd /home/rongye/ProgramFiles/ViGent ``` 将项目文件复制到该目录。 --- ## 步骤 3: 安装后端依赖 ```bash cd /home/rongye/ProgramFiles/ViGent/backend # 创建虚拟环境 python3 -m venv venv source venv/bin/activate # 安装 PyTorch (CUDA 12.1) pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121 # 安装其他依赖 pip install -r requirements.txt # 安装 Playwright 浏览器 (社交发布用) playwright install chromium ``` --- ## 步骤 4: 部署 AI 模型 (MuseTalk) > ⚠️ **重要**:MuseTalk 需要独立的 Conda 环境和特定的 PyTorch 版本。请**不要**直接安装在后端环境中。 请参考详细的独立部署指南: **[MuseTalk 部署指南](../models/MuseTalk/DEPLOY.md)** 该指南包含以下关键步骤,请务必严格按照文档操作: 1. 创建独立的 `musetalk` Conda 环境 2. 安装特定版本的 PyTorch (2.0.1) 和 MMLab 依赖 3. 按照特定结构下载模型权重 4. 验证推理脚本 确保 MuseTalk 部署成功后,再继续后续步骤。 --- ## 步骤 7: 配置环境变量 ```bash cd /home/rongye/ProgramFiles/ViGent/backend # 复制配置模板 cp .env.example .env # 编辑配置 nano .env ``` 修改以下配置: ```ini # GPU 配置 MUSETALK_GPU_ID=1 MUSETALK_LOCAL=true # 其他配置按需修改 DEBUG=false ``` --- ## 步骤 8: 安装前端依赖 ```bash cd /home/rongye/ProgramFiles/ViGent/frontend # 安装依赖 npm install ``` --- ## 步骤 9: 测试运行 ### 启动后端 ```bash cd /home/rongye/ProgramFiles/ViGent/backend source venv/bin/activate uvicorn app.main:app --host 0.0.0.0 --port 8006 ``` ### 启动前端 (新开终端) ```bash cd /home/rongye/ProgramFiles/ViGent/frontend npm run dev -- --host 0.0.0.0 ``` --- ## 步骤 10: 验证 1. 访问 http://服务器IP:3002 查看前端 2. 访问 http://服务器IP:8006/docs 查看 API 文档 3. 上传测试视频,生成口播视频 --- ## 使用 systemd 管理服务 (可选) ### 后端服务 创建 `/etc/systemd/system/vigent-backend.service`: ```ini [Unit] Description=ViGent Backend API After=network.target [Service] Type=simple User=rongye WorkingDirectory=/home/rongye/ProgramFiles/ViGent/backend Environment="PATH=/home/rongye/ProgramFiles/ViGent/backend/venv/bin" ExecStart=/home/rongye/ProgramFiles/ViGent/backend/venv/bin/uvicorn app.main:app --host 0.0.0.0 --port 8006 Restart=always [Install] WantedBy=multi-user.target ``` ### 前端服务 创建 `/etc/systemd/system/vigent-frontend.service`: ```ini [Unit] Description=ViGent Frontend After=network.target [Service] Type=simple User=rongye WorkingDirectory=/home/rongye/ProgramFiles/ViGent/frontend ExecStart=/usr/bin/npm run start Restart=always [Install] WantedBy=multi-user.target ``` ### 启用服务 ```bash sudo systemctl daemon-reload sudo systemctl enable vigent-backend vigent-frontend sudo systemctl start vigent-backend vigent-frontend ``` --- ## 故障排除 ### GPU 不可用 ```bash # 检查 CUDA nvidia-smi python3 -c "import torch; print(torch.cuda.is_available())" ``` ### 端口被占用 ```bash # 查看端口占用 sudo lsof -i :8006 sudo lsof -i :3002 ``` ### 查看日志 ```bash # 后端日志 journalctl -u vigent-backend -f # 前端日志 journalctl -u vigent-frontend -f ```