# 💡 Idea 08: FAQ Knowledge Base + AI Variant Generator

## Tóm tắt
Xây dựng hệ thống FAQ (Frequently Asked Questions) cho Canifa AI Chatbot, lưu trữ trong SQLite DB. Từ các câu hỏi gốc (seed), sử dụng AI (FreeLLM API tại `http://172.16.2.210:3002/v1/chat/completions`) để tự động sinh ra các **biến thể câu hỏi** (paraphrases) nhằm mở rộng coverage — khi user hỏi phá hoặc hỏi lệch, chatbot vẫn map được về câu trả lời chuẩn.

## Yêu cầu chi tiết

### 1. Database (SQLite)
- Tạo bảng `faqs` trong `canifa_ai_dump.sqlite`:
  - `id` (TEXT PRIMARY KEY)
  - `question` (TEXT) — câu hỏi gốc
  - `answer` (TEXT) — câu trả lời chuẩn
  - `category` (TEXT) — phân loại (e.g. "chính sách", "sản phẩm", "vận chuyển", "đổi trả", "khuyến mãi", "chung")
  - `is_variant` (INTEGER DEFAULT 0) — 0 = gốc, 1 = biến thể AI sinh ra
  - `parent_id` (TEXT) — nếu là biến thể thì trỏ về id câu gốc
  - `created_at` (TEXT)

### 2. Seed Data (vài nghìn câu)
- Viết sẵn ~50-100 câu hỏi gốc về Canifa (chính sách đổi trả, vận chuyển, khuyến mãi, thông tin công ty...)
- AI sẽ sinh ~20-50 biến thể cho mỗi câu gốc → tổng ~2000-5000 FAQ entries

### 3. API Endpoints
- `GET /api/faqs` — lấy danh sách FAQs (filter by category, search, pagination)
- `POST /api/faqs` — thêm FAQ mới
- `PUT /api/faqs/{id}` — sửa FAQ
- `DELETE /api/faqs/{id}` — xoá FAQ
- `POST /api/faqs/generate-variants` — AI sinh biến thể cho 1 câu hỏi gốc
- `POST /api/faqs/batch-generate` — AI sinh biến thể cho nhiều câu hỏi cùng lúc
- `GET /api/faqs/stats` — thống kê số FAQs theo category

### 4. AI Integration
- Sử dụng FreeLLM API: `http://172.16.2.210:3002/v1/chat/completions`
- API Key: `freellmapi-a858c30561987b8aa2a58343c7fe48a6a52e65cadb9df6d5`
- Prompt: "Từ câu hỏi gốc, sinh ra N biến thể khác nhau mà khách hàng có thể hỏi..."

### 5. Frontend (gắn vào sidebar main.html)
- Trang quản lý FAQ: xem, thêm, sửa, xoá, filter theo category
- Nút "Generate Variants" gọi AI sinh biến thể
- Hiển thị thống kê tổng quan
- Gắn vào sidebar group "Workspace" trong `main.html`

## Phân loại
- **Type:** Feature
- **Complexity:** Medium
- **Impact:** High — giúp chatbot trả lời chính xác hơn khi user hỏi lệch
