Hệ thống theo dõi và phân tích video YouTube tự động sử dụng AI.
backend/: Python Flask API, Celery/RQ workers.frontend/: React + Vite + Tailwind CSS dashboard.
Trước khi chạy, bạn cần cài đặt:
- Python 3.10+
- Node.js 18+ & npm
- Docker & Docker Compose (để chạy Redis và PostgreSQL)
- Ollama (để chạy AI model phân tích)
Dự án sử dụng Ollama để phân tích nội dung video. Bạn cần cài đặt và chạy Ollama trên máy host.
- Tải và cài đặt Ollama: https://ollama.com/download
- Pull model cần thiết:
Mở terminal và chạy lệnh sau để tải model
qwen2.5:7b(hoặc model khác tùy cấu hình):ollama pull qwen2.5:7b ollama pull llama3.2:latest
- Khởi động server Ollama:
Lưu ý: Mặc định Ollama chạy ở cổng 11434.
ollama serve
-
Di chuyển vào thư mục backend:
cd backend -
Tạo môi trường ảo (Virtual Env):
python -m venv venv # Windows: .\venv\Scripts\activate # Linux/Mac: source venv/bin/activate
-
Cài đặt dependencies:
pip install -r requirements.txt
-
Cấu hình Environment: Copy file
.env.examplethành.env(nếu có) -
Chạy Database & Redis (bằng Docker): Nếu bạn không cài DB/Redis native, hãy dùng docker-compose chỉ để chạy các services này:
# Chỉ chạy db và redis docker-compose up -d db redis -
Khởi tạo Database:
flask db upgrade
-
Chạy Backend Server:
python run.py
Backend sẽ chạy tại:
http://localhost:5000 -
Chạy Worker (để xử lý job background): Mở thêm terminal mới, activate venv và chạy:
Worker 1: Xử lý scraping & task chung
python run_worker.py
Worker 2: Xử lý AI Analysis (Yêu cầu Ollama)
# Chạy lệnh này để start worker chuyên xử lý analysis queue rq worker analysis --url redis://localhost:6379/0 # Hoặc nếu dùng script entrypoint (nếu có): python app/entrypoints/analysis_worker.py
-
Di chuyển vào thư mục frontend:
cd frontend -
Cài đặt packages:
npm install
-
Cấu hình: Tạo file
.envnếu cần thiết để trỏ tới API Backend (mặc định vite proxy sẽ trỏ tới localhost:5000). -
Chạy Frontend:
npm run dev
Frontend sẽ chạy tại:
http://localhost:5173
Cách nhanh nhất để chạy toàn bộ hệ thống (Backend + Frontend + Worker + DB + Redis).
Lưu ý quan trọng: Để Docker container kết nối được với Ollama chạy trên máy host, bạn cần đảm bảo Ollama lắng nghe trên tất cả các interfaces hoặc cấu hình networking phù hợp.
Trên Windows/Mac, Docker Desktop thường hỗ trợ host.docker.internal để trỏ về máy host.
-
Build và chạy:
# Tại thư mục gốc (Youtube Spy/) cd backend # (Lưu ý: file docker-compose.yml chính thường nằm ở backend hoặc root tùy setup, hãy kiểm tra lại vị trí file) # Nếu file docker-compose.yml nằm trong folder backend: docker-compose up --build
Lệnh này sẽ start:
- Backend API
- Frontend
- Postgres DB
- Redis
- Worker (Scraping)
- Analysis Worker
-
Truy cập:
- Frontend:
http://localhost:5173(hoặc port được map trong docker-compose) - Backend API:
http://localhost:5000
- Frontend:
Để test nhanh tính năng Analysis mà không cần chạy full flow:
cd backend
python scripts/test_analysis.py <youtube_video_id> --model qwen2.5:7b