{
    "title": "FAQ Manager & BM25 Search",
    "description": "Tìm hiểu cơ chế quản lý câu hỏi thường gặp và thuật toán tìm kiếm lai (Hybrid Search) kết hợp BM25 và Fuzzy Matching.",
    "diagram": "diagrams/faq-bm25-search.svg",
    "sections": [
        {
            "title": "Thuật toán Hybrid Search",
            "type": "text",
            "content": "Để đảm bảo tìm đúng câu hỏi ngay cả khi người dùng viết tắt hoặc gõ sai, hệ thống sử dụng thuật toán <b>Simulate Match</b>:<br>1. <b>BM25 (Best Matching 25):</b> Thuật toán xếp hạng dựa trên tần suất từ khóa, ưu tiên các từ hiếm và mang ý nghĩa quan trọng.<br>2. <b>Fuzzy Match:</b> Sử dụng khoảng cách Levenshtein để xử lý các lỗi chính tả nhẹ (ví dụ: 'quan jean' vs 'quần jean').<br>3. <b>Score Fusion:</b> Kết hợp điểm số từ hai thuật toán theo trọng số 70/30 để đưa ra kết quả cuối cùng."
        },
        {
            "title": "AI Variant Generation",
            "type": "text",
            "content": "Module tích hợp GPT-4.1-mini để tự động sinh ra 20-50 biến thể cho mỗi câu hỏi gốc. Việc này giúp mở rộng bề mặt tìm kiếm, giúp hệ thống nhận diện được nhiều cách đặt câu hỏi khác nhau của khách hàng mà không cần Admin phải nhập liệu thủ công."
        },
        {
            "title": "API FAQ",
            "type": "api",
            "endpoints": [
                { "method": "GET", "path": "/api/faqs", "description": "Lấy danh sách câu hỏi và câu trả lời." },
                { "method": "POST", "path": "/api/faqs/generate-variants", "description": "Sử dụng AI để sinh biến thể cho một FAQ cụ thể." },
                { "method": "POST", "path": "/api/faqs/simulate-match", "description": "Test thử thuật toán search với một câu query bất kỳ." }
            ]
        }
    ]
}
