使用 TWCC 開發型容器來測試 videoScript 專案
TWCC (Taiwan Computing Cloud) 的開發型容器提供了一個強大的雲端開發環境,適合進行 AI 模型訓練、數據處理和應用開發。以下是如何在 TWCC 開發型容器上配置和運行 videoScript 專案的詳細步驟。
為什麼選擇 TWCC 開發型容器
videoScript 專案使用了多個 AI 模型來實現視頻轉換逐字稿和優化逐字稿的功能。尤其是在使用台灣釋出的 Llama 3-TAIDE-LX-8B-Chat-Alpha1 模型時,GPU 的計算能力可以大幅加快處理速度。因此,建議選用 4 GPU 以上的配置,以確保高效處理。
初始化開發環境
1. 建立開發型容器
在 TWCC 入口網站中,選擇“開發型容器”服務,並創建一個新的容器。在選擇配置時,可以根據需要選擇適當的 GPU、CPU 和記憶體配置。例如:
- 型號:cm.super
- GPU:4 張
- CPU:16 核心
- 記憶體容量:360 GB
完成配置後,在“初始化指令”欄位中設置以下命令來安裝必要工具和依賴:
下列為結構化的整理各個指令以及說明用途:
# 更新包管理器和安裝必要的工具,確保管理器是最新的,並安裝 `python3-venv` 和 `wget`:
sudo apt-get update
sudo apt-get install -y python3-venv wget
# 確保 FFmpeg 安裝正確
sudo apt-get install -y ffmpeg
mkdir workspace
cd workspace
# 克隆項目代碼庫
git clone https://github.com/CAFECA-IO/Top-Ten-LiFaYuan.git
可直接貼上的版本:
sudo apt-get update && sudo apt-get install -y python3-venv wget ffmpeg; \
mkdir workspace; cd workspace; \
git clone https://github.com/CAFECA-IO/Top-Ten-LiFaYuan.git; \
2. 配置環境變數
在建立容器時,可以在“環境變數”欄位中設置以下 JSON 格式的環境變數:
{
"HUGGINGFACE_API_TOKEN": "您的 Hugging Face API Token"
}
3. 連線容器
當容器服務狀態顯示為“Ready”後,可以選擇以下連線方式:
透過 Jupyter Notebook 連線
- 在 TWCC 入口網站,點擊 Jupyter 右方的“開啟”,進入內建的 Jupyter Notebook 操作網頁。
- 點選“New” > “Terminal”,即可進入容器環境。
透過 SSH 連線
在 TWCC 入口網站,點擊 SSH 右方的“複製圖示”來獲取主機登錄帳號及 IP 位址。
在本地端電腦中,開啟 Terminal 並填入 SSH 登入資訊:
ssh your-username@your-container-ip
在 Jupyter Notebook 連線的 terminal
# 進入項目目錄
cd Top-Ten-LiFaYuan/Videoscript
# 設置虛擬環境並安裝 Python 項目依賴
python3 -m venv venv
source venv/bin/activate
pip install --no-user --upgrade pip
pip install -r --no-user requirements.txt
開啟 API 以供外部訪問
在 TWCC 開發型容器詳細資料
裡面設定服務埠:
點選
關聯
後彈出視窗,會有可以使用的端口列表,這裡我們選 5000連接埠就會多一個:
目標埠: 5000 (userdefine1) 對外埠: 53917
run.py
文件中的 app run 將 Flask 應用設置為可以被外部訪問,並有設定對應的端口:if __name__ == "__main__": app.run(host='0.0.0.0', port=5000)
運行 Flask 應用
確保已經完成了上述所有配置,然後使用以下命令啟動 Flask 應用:
python run.py
這將啟動 Flask 應用,可以通過 <公用 IP: 203.145.216.218>:<對外埠: 53917>` 訪問應用並使用其提供的 API。
使用指令測試功能
連接到容器後,可以通過以下指令來測試 videoScript 的各個功能: 一共有 6 個指令可以使用,是依序使用,如果跳著使用也沒有問題,系統會檢查當前的資料是否足夠執行,若不足系統會自己補齊。 指令後面跟於下載及處理的影片網址(video_url)
video_url 的來源
https://ivod.ly.gov.tw/Play/Clip/300K/154308
1. 下載視頻
運行以下命令來下載會議視頻:
python run.py download <video_url>|<empty>
2. 提取音頻
運行以下命令從下載的視頻中提取音頻:
python run.py extract <video_url>|<empty>
3. 處理音頻
運行以下命令對提取的音頻進行處理(如降噪):
python run.py process <video_url>|<empty>
4. 轉換音頻為逐字稿
運行以下命令將處理過的音頻轉換為逐字稿:
python run.py transcribe <video_url>|<empty>
5. 優化逐字稿
運行以下命令使用 Llama3-TAIDE 模型來優化生成的逐字稿:
python run.py optimize <video_url>|<empty>
6. 生成摘要
運行以下命令生成逐字稿的摘要:
python run.py summarize <video_url>|<empty>
總結
通過使用 TWCC 開發型容器,可以高效地配置和運行 videoScript 專案。這不僅能夠充分利用 GPU 的強大計算能力來加快 AI 模型的處理速度,還可以方便地通過 Jupyter Notebook 或 SSH 進行連接和操作,實現視頻轉換逐字稿和優化逐字稿的完整流程。