Luồng V1 biến AI thành một Data Analyst thực thụ, có khả năng hiểu cấu trúc cơ sở dữ liệu và tự động chọn biểu đồ hiển thị.

### Data Flow Diagram

```mermaid
sequenceDiagram
    participant User
    participant FastAPI as SQL Chat API
    participant LLM as Codex (GPT-5.3)
    participant Validator as SQL Guardrails
    participant DB as StarRocks / Postgres

    User->>FastAPI: POST /api/sql-chat (Question)
    FastAPI->>LLM: Gửi Prompt chứa DB_SCHEMA (25 loại Chart)
    LLM-->>FastAPI: Trả về JSON (SQL, Chart Type, Giải thích)
    
    FastAPI->>Validator: Validate SQL (Chặn DML, giấu Vector)
    alt Invalid SQL
        Validator-->>FastAPI: Lỗi (Ví dụ: Chứa lệnh DROP)
        FastAPI-->>User: Trả về lỗi an mật
    else Valid SQL
        FastAPI->>DB: Thực thi câu lệnh SQL (Chỉ SELECT)
        DB-->>FastAPI: Trả về Rows Data
        FastAPI->>FastAPI: Serialize dữ liệu (xử lý Decimal, datetime)
        FastAPI-->>User: Trả về JSON (Data, Chart Type, Giải thích)
    end
```

### Đặc điểm kỹ thuật nổi bật
1. **Schema Injection:** Prompt của LLM được tiêm (inject) sẵn cấu trúc của bảng `shared_source.magento_product_dimension_with_text_embedding`. Nhờ đó, LLM biết chính xác tên cột nào đang tồn tại.
2. **Visualization Engine:** Prompt huấn luyện LLM quy tắc chọn 1 trong 25 loại biểu đồ (VD: Dùng `numberCard` cho tổng số, `pie` cho tỷ lệ, `combo` cho bar+line). LLM sẽ định nghĩa `x_key` và `y_keys`.
3. **Multi-Widget Dashboard:** API `/api/sql-dashboard` dùng kĩ thuật **SSE (Server-Sent Events)**. Nó yêu cầu AI sinh ra layout cho toàn bộ Dashboard (nhiều widget), sau đó gọi đồng thời (parallel) các lệnh SQL và push kết quả của từng widget về client ngay khi xong.