Files
AI_meeting_assistant/README.md
2025-08-07 09:57:20 +08:00

142 lines
5.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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/ # (自動生成) 儲存人聲分離結果
```