first_upload
This commit is contained in:
141
README.md
Normal file
141
README.md
Normal 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 使用者**: 如果您沒有 GPU,Docker 會自動退回使用 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/ # (自動生成) 儲存人聲分離結果
|
||||
```
|
Reference in New Issue
Block a user