FLOW INTELLIGENCE là hệ thống nền tảng xử lý, tự động hóa và quản trị tri thức cuộc họp thông minh hàng đầu. Hệ thống giúp doanh nghiệp và tổ chức chuyển đổi toàn bộ âm thanh cuộc họp thành văn bản chính xác, phân tách giọng nói theo từng thành viên (Diarization), tự động tóm tắt thành Biên Bản Họp Chuẩn Doanh Nghiệp Việt Nam 5 mục xuất sắc, vẽ biểu đồ phân tích hành vi tương tác và hỗ trợ truy vấn tìm kiếm ngữ nghĩa Vector thông minh.
Hệ thống được thiết kế theo kiến trúc tối ưu phần cứng thế hệ mới:
- Tăng Tốc Phần Cứng GPU CUDA: Tận dụng 100% sức mạnh card màn hình NVIDIA GeForce RTX 3050 Laptop GPU cho mô hình Pyannote.audio & Faster-Whisper, giúp tốc độ bóc băng và phân tách giọng nói nhanh gấp 5 - 10 lần so với CPU.
- Tóm Tắt Đa Mô Hình (Hybrid AI Summarizer): Tích hợp mô hình Hugging Face Qwen/Qwen2.5-Instruct chuyên dụng tóm tắt 5 mục chạy trực tiếp trên GPU CUDA, kết hợp chuỗi dự phòng Multi-Model Fallback Chain của Google Gemini API.
- Bộ Lưu Trữ Lai Thông Minh (Hybrid Storage): Hỗ trợ tệp cuộc họp dung lượng lên tới 500MB (kéo dài 1 - 3 tiếng) với cơ chế tự động chuyển vùng lưu đĩa cứng cục bộ (
temp/uploads/) vượt rào cản 50MB của Supabase Free Tier. - Frontend: React 18, TypeScript, Vite 5 với ngôn ngữ thiết kế Glassmorphism UI sang trọng, chuyển đổi mượt mà giữa Light Mode & Dark Mode cùng hệ thống Đa Ngôn Ngữ Song Ngữ (Việt - Anh).
- Backend: FastAPI Python (Uvicorn ASGI Server), kiến trúc modul hoá chuẩn mực, lưu trữ Supabase Storage & PostgreSQL
pgvector.
- Phản hồi tức thì 0ms (Instant Upload Feedback): Ngay khi nhấn nút tải tệp âm thanh, hệ thống lập tức hiển thị màn hình khởi tạo tiến trình AI với hiệu ứng hạt sóng lấp lánh, hoàn toàn loại bỏ cảm giác chờ đợi mơ hồ.
- Bước 1 - Tiền xử lý & Khởi tạo (Audio Preprocessing & Voice Sample Matching): Chuẩn hóa định dạng âm thanh (WAV/MP3/M4A) bằng FFmpeg 16kHz Mono và tự động đối soát kho mẫu giọng nói để định danh thành viên.
- Bước 2 - Phân tách người nói & Chuyển âm thanh thành văn bản (Diarization & STT): Sử dụng mô hình Pyannote.audio 3.1 & Faster-Whisper bóc tách chính xác từng câu thoại kèm mốc thời gian (Timestamp Alignment) trên GPU RTX 3050 CUDA.
- Bước 3 - Phân tích ngữ nghĩa & Tạo báo cáo (Semantic Analysis & Summary): Tổng hợp nội dung cuộc họp bằng mô hình Hugging Face Qwen2.5 GPU & Gemini LLM.
- Thời gian đếm lùi Real-time (Dynamic Countdown Timer): Đồng hồ đếm lùi từng giây trực quan giúp người dùng theo dõi chuẩn xác từng giai đoạn xử lý.
Trích xuất tự động 100% tri thức từ bản ghi âm thành 5 khung thẻ kính mờ độc lập với gạch đầu dòng thực tế chi tiết:
- 1. Mục Tiêu & Tổng Quan Cuộc Họp (Overview): Tóm tắt bối cảnh và mục tiêu trọng tâm.
- 2. Tóm Tắt Ý Kiến & Đóng Góp Theo Từng Người Nói: Ghi rõ lập trường và đóng góp nổi bật của từng cá nhân tham gia.
- 3. Các Chủ Đề & Nội Dung Thảo Luận Chính: Phân tích chi tiết từng chủ đề.
- 4. Quyết Định Đã Thống Nhất (Key Decisions): Liệt kê các quyết định và kết luận đã chốt.
- 5. Kế Hoạch & Phân Công Công Việc (Action Items): Nhiệm vụ cụ thể và người phụ trách.
- Biểu đồ thời lượng & lượt phát biểu: Thống kê tỉ lệ % thời lượng nói và số lượt cất lời của từng thành viên.
- Biểu đồ tỉ lệ phân bổ chủ đề (Topic Transition): Hiển thị thanh tỉ lệ phần trăm thảo luận từng chủ đề.
- Biểu đồ cường độ thảo luận (Discussion Intensity Timeline): Theo dõi nhịp độ thảo luận theo mốc thời gian thực, tự động phát hiện mốc Peak Discussion (Thời điểm thảo luận sôi nổi nhất).
- Chuẩn mực văn bản hành chính Việt Nam: Đầy đủ Quốc hiệu & Tiêu ngữ, Tên cơ quan đơn vị, Ngày tháng năm in rõ thời gian thực (
Ngày DD tháng MM năm YYYY), Mục tiêu, Nội dung thảo luận, Bảng Action Items 4 cột, Ghi chú khuyến nghị AI và Khung ký tên Thư ký & Chủ tọa. - Định danh tên người nói chuẩn xác 100%: Truy vấn trực tiếp từ bảng cơ sở dữ liệu
Speakerđể map ID thành tên thật đàng hoàng của thành viên (nhưMinh,Đức,Khánh,...), loại bỏ triệt để các mã UUID thô hoặc tên mặc định "Thành viên A/B".
- Tìm kiếm ý nghĩa tự nhiên (Natural Query): Cho phép gõ câu hỏi tự nhiên theo ý nghĩa (Ví dụ: "Khi nào chúng ta bàn về ngân sách dự án?").
- Vector Embedding 3072 dimensions: Mã hóa câu thoại thành Vector 3072 chiều bằng
models/gemini-embedding-001và tính khoảng cách Cosine trênpgvector. - Bộ lọc 4 chế độ: Lọc chuẩn xác theo Nội dung (Content), Người nói (Speaker), Mốc thời gian (Timestamp), và Chủ đề (Topic).
- Nút kéo Timeline Thủy tinh: Nút kéo tròn mượt mà chạy trên thanh tiến trình gradient Tím - Xanh.
- Hover Effect Play/Pause Button: Nút phát âm thanh trong suốt linh hoạt, nổi dải màu rực rỡ khi trỏ chuột vào.
- Nút tua nhanh 10 giây (-10s / +10s): Hỗ trợ điều hướng bản ghi nhanh chóng.
- Chuyển đổi 100% giao diện giữa Chế độ Sáng (Light Mode) và Chế độ Tối (Dark Mode) cho toàn bộ màn hình, bảng biểu và tất cả các Modal window (Voice Samples Modal, Upload Failed Modal, Rename Diary Modal, Completed Modal, Report Export Modal).
- Hỗ trợ chuyển đổi song ngữ linh hoạt Tiếng Việt & Tiếng Anh.
| Thành phần | Công nghệ / Thư viện |
|---|---|
| Core Framework | React 18 + TypeScript + Vite 5 |
| Styling | Vanilla CSS + Tailwind CSS 3 (Glassmorphism UI) |
| Icons | Lucide React Icons |
| Internationalization | Custom LanguageContext (i18n Song ngữ Việt - Anh) |
| State & Portals | React Hooks (useMemo, useState, useEffect) & createPortal |
| Thành phần | Công nghệ / Thư viện |
|---|---|
| Web Framework | FastAPI (Python 3.12) running on Uvicorn ASGI |
| GPU Acceleration | PyTorch 2.5+ CUDA 12.1 (NVIDIA GeForce RTX 3050) |
| Database | PostgreSQL 15+ with pgvector extension |
| ORM & Migrations | SQLAlchemy ORM & Alembic Database Migrations |
| Storage Engine | Supabase Storage + Local Disk Fallback (temp/uploads/) |
| Document Export | ReportLab PDF Engine, python-docx, pypdf |
- Diarization & STT: Pyannote.audio 3.1 & Faster-Whisper (CUDA 12.1 GPU Accelerated).
-
5-Section Summarizer: Hugging Face
Qwen/Qwen2.5-1.5B-Instruct/Qwen2.5-3B-Instruct(GPU CUDA Local). - LLM Intelligence: Google Gemini 3.5 Flash (Tóm tắt 5 mục & trích xuất phân đoạn chủ đề).
-
Chuỗi Mô Hình Dự Phòng (Multi-Model Fallback Chain): Tự động chuyển đổi mô hình tức thì nếu gặp lỗi giới hạn hạn ngạch (429 Rate Limit):
$$\text{gemini-3.5-flash} \rightarrow \text{gemini-3.5-flash-lite} \rightarrow \text{gemini-3.1-flash-lite} \rightarrow \text{gemini-3-flash-preview} \rightarrow \text{gemini-2.5-pro} \rightarrow \text{gemini-2.0-flash}$$ -
Vector Embedding: Google Gemini Embedding 001 (
models/gemini-embedding-001, 3072 dimensions).
Source Code - Flow/
├── .gitignore # File cấu hình bỏ qua Git (Node modules, venv, .env, temp audio)
├── README.md # File tài liệu hướng dẫn tổng quan & cài đặt hệ thống
├── start_flow_local.bat # Bộ khởi chạy 1-Click cho ứng dụng Demo Local
├── start_tunnel.bat # Bộ khởi chạy Cloudflare Tunnel chia sẻ link công cộng
│
├── backend/ # THƯ MỤC MÃ NGUỒN BACKEND (FASTAPI PYTHON)
│ ├── .env # Biến môi trường Backend (Chứa DB URL, Supabase & Gemini API Key)
│ ├── alembic.ini # File cấu hình Alembic Database Migrations
│ ├── requirements.txt # Danh sách gói thư viện phụ thuộc Python
│ │
│ ├── app/ # Ứng dụng chính FastAPI
│ │ ├── api/ # Router registry & main entry point (main.py)
│ │ ├── bootstrap/ # Khởi tạo cấu hình môi trường hệ thống
│ │ ├── infrastructure/ # Kết nối Database SQLAlchemy, pgvector & Supabase Storage
│ │ ├── modules/ # Các Module nghiệp vụ chính
│ │ │ ├── anonymous_workspace/# Router quản lý Anonymous Workspace
│ │ │ ├── meeting_intelligence/# Voice samples, Speaker Statistics, Report PDF Export & Analytics
│ │ │ ├── meeting_processing/ # Audio upload, Status SSE polling, Processing jobs
│ │ │ └── search_retrieval/ # Vector Search API (pgvector + Gemini Embedding)
│ │ └── shared_kernel/ # Dataclass, schemas & domain models dùng chung
│ │
│ ├── worker/ # Worker tiến trình xử lý ngầm (Background Worker Pipeline)
│ │ ├── pipelines/ # Các pipeline con (diarization, transcription, qwen_summarizer, semantic)
│ │ └── tasks.py # Hàm thực thi quy trình 3 bước xử lý âm thanh & AI
│ │
│ ├── temp/ # Thư mục tạm lưu tệp âm thanh trong quá trình xử lý (.gitkeep)
│ └── venv/ # Môi trường ảo Python (Virtual Environment)
│
└── frontend/ # THƯ MỤC MÃ NGUỒN FRONTEND (REACT + VITE + TS)
├── .env # Biến môi trường Frontend (Chứa Base API URL)
├── index.html # File HTML chính của ứng dụng Vite
├── package.json # Thư viện npm & script khởi chạy
├── vite.config.ts # File cấu hình Vite Bundler
├── tailwind.config.js # File cấu hình Tailwind CSS & Glassmorphism Theme
├── tsconfig.json # Cấu hình TypeScript compiler
│
└── src/ # Thư mục chứa mã nguồn React TypeScript
├── App.tsx # Client-side Router chính & Quản lý điều hướng trang
├── main.tsx # Entry point render React DOM Root
├── index.css # Custom Styles, Animation & Tailwind Directives
│
├── landing/ # Trang giới thiệu Landing Page & 3 thẻ tính năng
├── upload/ # Màn hình Tải tệp âm thanh & Tiến trình 3 bước AI
│ ├── components/ # DropzoneArea, ProcessingView & các Modal thông báo
│ └── types.ts # Dynamic Upload State type definitions
│
├── diary-list/ # Trang Nhật ký cuộc họp (Diary List View)
│ ├── components/ # DiaryCard, RenameModal (Hỗ trợ Light/Dark & Song ngữ)
│ └── hooks/ # Custom hook useDiary fetched data
│
├── diary-detail/ # Trang Chi tiết & Phân tích Nhật ký Cuộc họp
│ ├── components/ # AudioPlayer, ChartPanel, SummaryPanel, ReportExportModal, TranscriptList
│ └── mockApi.ts # Gateway chuyển đổi dữ liệu Backend -> Frontend ViewModel
│
└── shared/ # Thành phần dùng chung toàn bộ ứng dụng
├── components/ # Header, Modals, Failure Dialogs
└── i18n/ # LanguageContext & File từ điển bản dịch translations.ts
- Python: Version 3.10 trở lên
- Node.js: Version v18.0.0 trở lên &
npm - PostgreSQL: Version 15+ (Khuyên dùng PostgreSQL trên Supabase đã bật sẵn extension
pgvector). - NVIDIA GPU Driver & CUDA 12.1 (Khuyên dùng card RTX 3050 trở lên để tăng tốc).
- Google Gemini API Key: Đăng ký lấy API Key tại Google AI Studio.
-
Di chuyển vào thư mục
backend:cd backend -
Tạo và kích hoạt môi trường ảo Python (Virtual Environment):
python -m venv venv # Trên Windows (PowerShell): .\venv\Scripts\Activate.ps1 # Trên Linux/macOS: source venv/bin/activate
-
Cài đặt PyTorch hỗ trợ CUDA 12.1:
pip install torch torchaudio --index-url https://download.pytorch.org/whl/cu121
-
Cài đặt các gói thư viện phụ thuộc:
pip install -r requirements.txt
-
Tạo tệp
.envtrong thư mụcbackend/.env:SUPABASE_URL=https://your-supabase-project.supabase.co SUPABASE_PUBLISHABLE_KEY=your-supabase-publishable-key SUPABASE_SECRET_KEY=your-supabase-secret-key DATABASE_URL="postgresql://postgres:password@host:5432/postgres" HF_TOKEN="your_huggingface_token" GEMINI_API_KEY="your_google_gemini_api_key"
-
Khởi chạy máy chủ FastAPI Backend:
uvicorn app.api.main:app --host 0.0.0.0 --port 8000 --reload
Máy chủ Backend sẽ hoạt động tại:
http://localhost:8000(Tài liệu API Swagger Docs:http://localhost:8000/docs).
-
Mở cửa sổ terminal mới và di chuyển vào thư mục
frontend:cd frontend -
Cài đặt các thư viện npm:
npm install
-
Tạo tệp
.envtrong thư mụcfrontend/.env:VITE_API_BASE_URL="http://localhost:8000/api/v1" VITE_USE_MOCK_DIARY="false"
-
Khởi chạy máy chủ Frontend Dev Server:
npm run dev
Máy chủ Frontend sẽ hoạt động tại:
http://localhost:5173.
Hệ thống được trang bị 2 bộ khởi chạy tự động dạng file .bat cực kỳ tiện lợi:
Nhấn đúp chuột vào file start_flow_local.bat tại thư mục gốc:
- Tự động kích hoạt môi trường ảo Python
backend/venv. - Khởi chạy Backend FastAPI Uvicorn tại
http://localhost:8000. - Khởi chạy Frontend React Vite tại
http://localhost:5173.
Nhấn đúp chuột vào file start_tunnel.bat:
- Tự động kích hoạt Cloudflare Tunnel với vòng lặp tự nối lại kết nối (
:loop). - Cấp đường dẫn công cộng
https://...trycloudflare.comgiúp bất kỳ ai cũng có thể truy cập trải nghiệm Demo ứng dụng từ xa.
- Auto Voice Sample Deletion: Tất cả mẫu giọng nói tải lên để định danh thành viên sẽ tự động bị xóa vĩnh viễn khỏi Storage ngay khi quá trình nhận diện hoàn tất.
- Auto Purge TTL: Tiến trình dọn dẹp tự động giải phóng dung lượng đĩa và dữ liệu cũ định kỳ.
- Developed with ❤️ by Flow Intelligence Team.
- Built with React 18, FastAPI, PyTorch CUDA, Hugging Face Qwen & Google Gemini AI.