# Kịch bản quay video demo — ngắn gọn, chỉ trên web UI **Tổng thời lượng:** ~2 phút 30 giây **Bộ dữ liệu:** VN inline seed (162 row) **Phạm vi:** Chỉ thao tác trên http://127.0.0.1:8081, không Alt-Tab đi đâu khác --- ## Trước khi quay - UI đang chạy ở real mode, sidebar hiển thị **FEEDBACK 162, REAL · BGE-M3 162, CRITICAL 34, VIP 54** - Chrome F11 fullscreen, Ctrl+F5 hard refresh - Notepad bên cạnh paste sẵn 2 câu: ``` khách hàng bị trừ tiền dù giao dịch thất bại customer charged for failed transaction ``` - Tắt Slack/Zalo/notifications - Bấm REC, đợi 1s --- ## SCENE 1 — Mở đầu `[0:00 → 0:15]` **Action:** Không click. Camera tĩnh full UI. **Voiceover:** > *"162 phản hồi khách hàng, đã được biến thành 162 vector 1024 chiều, lưu trực tiếp trong SQL Server. Toàn bộ chạy nội bộ, không rời firewall."* --- ## SCENE 2 — Keyword search bị sót `[0:15 → 0:40]` | Bước | Action | |---|---| | `0:15` | Click dropdown **Mode** → chọn **Keyword** | | `0:18` | Click ô **Keyword**, xóa text cũ, gõ `trừ tiền` | | `0:22` | Click **Search** | | `0:24` | Camera dừng 3s ở kết quả | **Voiceover:** > *"Keyword search — tìm cụm 'trừ tiền', ra 12 phản hồi. Nhưng khách viết 'số dư giảm', 'tiền bị giữ' thì bỏ sót hết."* --- ## SCENE 3 — Semantic search ⭐ `[0:40 → 1:30]` | Bước | Action | |---|---| | `0:40` | Đổi **Mode** về **Semantic-like** | | `0:43` | Click ô **Natural language question**, xóa, paste: `khách hàng bị trừ tiền dù giao dịch thất bại` | | `0:48` | **Days = 365** | | `0:50` | Click **Search** | | `0:52` | Camera dừng 4s, zoom nhẹ vào top 3 (score ~0.80) | | `1:00` | Scroll xuống xem thêm 3-4 dòng | | `1:10` | Xóa câu hỏi, paste tiếng Anh: `customer charged for failed transaction` | | `1:13` | Click **Search** | | `1:15` | Camera dừng 3s ở kết quả tiếng Việt | **Voiceover (0:40):** > *"Đổi sang semantic. Đặt câu hỏi bằng tiếng tự nhiên. SQL Server so sánh ý nghĩa, không phải từ khóa."* **Voiceover (0:55):** > *"Dòng đầu, điểm tương đồng 0.80. Câu này dùng wording khác — 'tài khoản vẫn bị trừ sau OTP' — nhưng hệ thống vẫn xếp đầu vì hiểu cùng bản chất."* **Voiceover (1:10):** > *"Thử bằng tiếng Anh. Câu hỏi tiếng Anh, dữ liệu tiếng Việt — vẫn ra đúng. Model embedding đa ngôn ngữ."* --- ## SCENE 4 — Filter nghiệp vụ `[1:30 → 2:00]` | Bước | Action | |---|---| | `1:30` | Paste lại câu tiếng Việt vào ô câu hỏi | | `1:33` | **Segment** → chọn **VIP** | | `1:36` | **Risk** → chọn **Critical** | | `1:38` | Click **Search** | | `1:40` | Camera dừng 3s | | `1:45` | Click nút **VIP Critical** (preset) | | `1:48` | Camera dừng 3s | **Voiceover:** > *"Semantic search kết hợp filter nghiệp vụ — VIP, Critical — trong một câu T-SQL. Hoặc một click với preset VIP Critical, ra ngay báo cáo rủi ro."* --- ## SCENE 5 — Vector inspector ⭐⭐ `[2:00 → 2:25]` | Bước | Action | |---|---| | `2:00` | Click nút **Vector** trên row đầu | | `2:02` | Modal slide-up, camera dừng 2s đọc header | | `2:05` | Zoom vào dãy stats (Model `bge-m3`, Dim `1024`, Norm `1.0`) | | `2:10` | Pan xuống "First 20 dimensions", dừng 2s | | `2:14` | Pan xuống "Full vector", kéo scrollbar nhẹ | | `2:20` | Click **Close** | **Voiceover (2:00):** > *"1024 con số floating-point — biểu diễn ngữ nghĩa của câu phản hồi."* **Voiceover (2:12):** > *"Toàn bộ 1024 số này không bao giờ rời máy chủ. Model chạy local, vector lưu trong SQL Server, query embed local. Không có byte nào ra OpenAI hay cloud."* **Editing:** Banner đỏ "Data không rời firewall" hold 3 giây trong khi voice đọc câu cuối. --- ## SCENE 6 — Closing `[2:25 → 2:30]` **Action:** Camera tĩnh trên UI. **Voiceover:** > *"Native Vector Search trên SQL Server — AI tạo sinh an toàn cho enterprise."* **Fade to black** 1s. --- ## TÓM TẮT | Scene | Time | Click chính | |---|---|---| | 1 | 0:00–0:15 | Không click | | 2 | 0:15–0:40 | Keyword mode + "trừ tiền" | | 3 | 0:40–1:30 | Semantic + câu VN + câu EN ⭐ | | 4 | 1:30–2:00 | VIP + Critical + preset | | 5 | 2:00–2:25 | Vector modal ⭐⭐ | | 6 | 2:25–2:30 | Closing | **Tổng 2'30", ~280 từ voiceover.** --- ## Nếu lỡ nhịp | Lỗi | Cứu | |---|---| | Search 0 row | Tăng Days = 3650 | | Modal Vector lỗi | Ctrl+F5 refresh, click Vector lại | | Ollama disconnect | Bỏ Scene 3 cross-lingual (1:10-1:30), kéo Scene 4 sớm |