first_upload

This commit is contained in:
beabigegg
2025-08-07 09:57:20 +08:00
commit 0720b1d0cc
12 changed files with 1267 additions and 0 deletions

141
README.md Normal file
View File

@@ -0,0 +1,141 @@
# AI Meeting Assistant
AI Meeting Assistant 是一個功能強大的 Web 應用程式,旨在簡化和自動化會議後續處理流程。它提供了一系列工具,包括從影片中提取音訊、將音訊轉錄為文字、對逐字稿進行多語言翻譯,以及生成專業的會議結論。
## ✨ 功能特色
- **影片轉音訊**: 從常見的影片格式MP4, MOV, AVI中快速提取 `.wav` 音訊檔案。
- **AI 音訊轉文字**: 使用 OpenAI Whisper 模型將音訊轉錄為帶有精確時間戳的逐字稿。
- **AI 人聲分離**: 內建 Demucs 模型,可在轉錄前分離人聲,有效處理背景嘈雜的音訊。
- **多語言支援**: 支援中文、英文、日文、韓文等多種語言的自動偵測與轉錄。
- **AI 逐段翻譯**: 整合 Dify AI 平台,提供高品質的逐字稿全文對照翻譯。
- **AI 會議結論**:
- **初版摘要**: 自動生成會議的重點、待辦事項和結論。
- **迭代修改**: 可根據您的指示,對已生成的結論進行多次修改和完善。
- **現代化介面**: 採用 Bootstrap 5 構建,提供清晰、專業且響應式的使用者體驗。
- **Docker 化部署**: 提供 Docker 和 Docker Compose 設定實現一鍵啟動所有服務Web, Celery, Redis並支援 CPU 和 GPU 環境。
## 🛠️ 環境要求
在本地端執行此專案之前,請確保您已安裝以下軟體:
- **Python**: 3.9 或更高版本。
- **Redis**: 用於 Celery 的訊息代理和後端。
- **FFmpeg**: 一個處理多媒體內容的開源工具集。請確保 `ffmpeg` 指令可在您的終端機中直接執行。
- **Windows**: 可從 [官網](https://ffmpeg.org/download.html) 下載,並將其 `bin` 目錄加入系統的 `PATH` 環境變數。
- **macOS (使用 Homebrew)**: `brew install ffmpeg`
- **Linux (Debian/Ubuntu)**: `sudo apt update && sudo apt install ffmpeg`
## 🚀 本地端啟動指南
1. **克隆專案**
```bash
git clone <your-repository-url>
cd AI_meeting_assistant
```
2. **建立並啟用虛擬環境**
```bash
python -m venv venv
# Windows
venv\Scripts\activate
# macOS / Linux
source venv/bin/activate
```
3. **安裝 Python 依賴套件**
```bash
pip install -r requirements.txt
```
*注意:`requirements.txt` 預設安裝 GPU 版本的 PyTorch。如果您的電腦沒有 NVIDIA GPU請在安裝前將 `requirements.txt` 中的 `torch` 和 `torchaudio` 相關行替換為 CPU 版本:*
```
# torch --extra-index-url https://download.pytorch.org/whl/cu118
# torchaudio --extra-index-url https://download.pytorch.org/whl/cu118
torch
torchaudio
```
4. **設定環境變數**
- 將 `.env.example` 檔案複製為 `.env`。
- 在 `.env` 檔案中填入您的 Dify API 金鑰。
```
DIFY_API_KEY="your_dify_api_key_here"
```
5. **啟動服務**
您需要開啟 **三個獨立的終端機**,並在每個終端機中啟用虛擬環境 (`venv`)
- **終端機 1: 啟動 Redis**
如果尚未執行,請啟動您的 Redis 伺服器。
```bash
redis-server
```
- **終端機 2: 啟動 Celery Worker**
此背景處理器將執行所有耗時的 AI 任務。
```bash
celery -A tasks.celery worker --loglevel=info --pool=solo
```
*在 Windows 上,可能需要使用 `gevent` 或 `eventlet` 作為執行池:`celery -A tasks.celery worker --loglevel=info -P gevent`*
- **終端機 3: 啟動 Flask Web 應用**
```bash
flask run
```
應用程式將在 `.env` 檔案中指定的 Port預設為 `12000`)上執行。
6. **訪問應用**
在瀏覽器中開啟 `http://127.0.0.1:12000`。
## 🐳 Docker 部署指南
使用 Docker 是部署此應用的推薦方式,因為它能自動處理所有服務和依賴。
1. **安裝 Docker 和 Docker Compose**
請確保您的系統已安裝 [Docker](https://www.docker.com/products/docker-desktop/)。
2. **設定環境變數**
- **重要**: Docker 使用的是容器網路,因此需要將 Redis 的主機名稱指向 Docker Compose 中定義的服務名稱。請確認 `.env` 檔案中的 `CELERY_BROKER_URL` 和 `CELERY_RESULT_BACKEND` 指向 `redis`
```
CELERY_BROKER_URL="redis://redis:6379/0"
CELERY_RESULT_BACKEND="redis://redis:6379/0"
```
3. **建構並啟動容器**
在專案根目錄下執行以下指令:
```bash
docker-compose up --build
```
- **GPU 支援**: 如果您的系統支援 NVIDIA GPU 且已安裝 `nvidia-docker-toolkit`Docker Compose 將會自動使用 `Dockerfile` 中為 GPU 優化的設定來建構映像。
- **CPU 使用者**: 如果您沒有 GPUDocker 會自動退回使用 CPU 版本的 PyTorch無需任何修改。
4. **訪問應用**
在瀏覽器中開啟 `http://localhost:12000`。
5. **停止服務**
若要停止所有容器,請在終端機中按下 `Ctrl + C`,然後執行:
```bash
docker-compose down
```
## 📂 專案結構
```
.
├── app.py # Flask 主應用程式
├── tasks.py # Celery 背景任務 (AI/ML 處理)
├── requirements.txt # Python 依賴套件
├── Dockerfile # 用於建構應用程式映像
├── docker-compose.yml # 一鍵啟動所有服務
├── .env.example # 環境變數範本
├── .gitignore # Git 忽略清單
├── README.md # 專案說明文件
├── templates/
│ └── index.html # 前端網頁
├── static/
│ ├── css/style.css # 自訂樣式
│ └── js/script.js # 前端互動邏輯
├── uploads/ # (自動生成) 儲存上傳的檔案
└── demucs_separated/ # (自動生成) 儲存人聲分離結果
```