Blueprint: chatbot hỏi đáp tài liệu có bước duyệt nguồn bằng n8n và NocoDB
Chatbot hỏi đáp tài liệu thường được bắt đầu bằng một demo RAG: tải vài file PDF lên, nối với một mô hình ngôn ngữ rồi cho nhân viên đặt câu hỏi. Demo có thể chạy tốt, nhưng khi đưa vào doanh nghiệp, vấn đề không còn là “AI có trả lời được hay không”. Câu hỏi quan trọng hơn là: câu trả lời dựa trên tài liệu nào, tài liệu đó đã được duyệt chưa, ai chịu trách nhiệm khi nội dung sai, và làm thế nào để cập nhật hoặc thu hồi một nguồn đã lỗi thời?
Blueprint dưới đây thiết kế chatbot hỏi đáp tài liệu có kiểm soát nguồn. AI/RAG tìm kiếm và tạo câu trả lời; NocoDB giữ danh mục, trạng thái phê duyệt, phiên bản và log; còn n8n điều phối nạp tài liệu, duyệt, đồng bộ và cảnh báo. Mô hình này phù hợp khi doanh nghiệp muốn tự host nhưng vẫn cần quy trình rõ ràng.
Chatbot hỏi đáp tài liệu có bước duyệt nguồn là gì?
Đây là hệ thống RAG (Retrieval-Augmented Generation) chỉ cho phép bộ máy tìm kiếm sử dụng những nguồn đã đạt trạng thái được duyệt. Khi nhân viên hỏi, hệ thống truy xuất các đoạn văn liên quan từ kho vector hoặc knowledge base, gửi chúng cho mô hình AI kèm quy tắc trả lời, sau đó lưu lại câu hỏi và nguồn được trích dẫn.
Điểm khác với chatbot RAG thử nghiệm là có một “cổng kiểm duyệt” nằm trước bước lập chỉ mục. File mới không tự động trở thành kiến thức. Người phụ trách phải kiểm tra tên tài liệu, phòng ban sở hữu, ngày hiệu lực, phạm vi sử dụng và mức độ nhạy cảm. Chỉ khi trạng thái trong NocoDB chuyển sang approved, n8n mới đưa file vào pipeline xử lý.
Doanh nghiệp giải quyết được vấn đề gì?
- Giảm trả lời theo tài liệu cũ: mỗi nguồn có phiên bản, ngày hiệu lực và ngày hết hạn để workflow có thể cảnh báo.
- Tránh đưa file chưa kiểm tra vào AI: tài liệu do nhân viên tải lên được giữ ở trạng thái chờ duyệt.
- Truy vết khi có khiếu nại: log lưu câu hỏi, đoạn nguồn, phiên bản tài liệu và người duyệt.
- Phân quyền theo phòng ban: tài liệu bán hàng, chính sách bảo hành và tài liệu nội bộ không nhất thiết dùng chung một collection.
- Dễ kết hợp hệ thống hiện có: n8n nhận webhook từ website, Smax.AI, Messenger hoặc form nội bộ; NocoDB làm lớp dữ liệu trung gian.
Kiến trúc tổng thể của blueprint
Một triển khai thực tế có thể gồm các lớp sau:
- Nguồn nhận tài liệu: WordPress, form website, thư mục upload, email nội bộ hoặc webhook từ ứng dụng khác.
- NocoDB: lưu bảng Documents, Document Versions, Approval Logs, Questions và Feedback. NocoDB có giao diện dạng bảng, API REST và phù hợp làm database/no-code backend tự host.
- n8n: nhận sự kiện, kiểm tra dữ liệu, gửi thông báo duyệt, gọi dịch vụ trích xuất nội dung, chia đoạn, tạo embedding, đồng bộ trạng thái và xử lý retry.
- Kho tài liệu/RAG: có thể dùng RAGFlow, Qdrant, Chroma, Weaviate hoặc dịch vụ RAG phù hợp với quy mô. Nên tách collection theo tenant hoặc phòng ban nếu có yêu cầu bảo mật.
- Lớp chatbot: website, Smax.AI, ứng dụng nội bộ hoặc API riêng. Lớp này gửi câu hỏi và nhận câu trả lời kèm nguồn.
Luồng chuẩn là: upload → kiểm tra metadata → chờ duyệt → approved → chunk/embedding → index → hỏi đáp → lưu log → đánh giá. Nếu tài liệu bị thu hồi, n8n phải đánh dấu phiên bản không còn hiệu lực và xoá hoặc vô hiệu hoá các chunk tương ứng, thay vì chỉ cập nhật bảng NocoDB.
Thiết kế các bảng NocoDB
1. Bảng Documents
Các cột nên có: document_id, tên tài liệu, phòng ban, loại tài liệu, người sở hữu, mức độ bảo mật, trạng thái hiện tại, phiên bản đang hiệu lực, ngày hiệu lực, ngày hết hạn, đường dẫn file và thời điểm cập nhật. Trạng thái nên dùng giá trị cố định: draft, pending_review, approved, rejected, expired, revoked.
2. Bảng Document Versions
Mỗi lần thay file tạo một bản ghi riêng, gồm mã phiên bản, checksum, thời điểm upload, người upload, lý do thay đổi, kết quả kiểm tra và mã collection/index. Cách này giúp tránh lỗi “ghi đè file nhưng không biết chatbot đang dùng bản nào”.
3. Bảng Approval Logs
Lưu người duyệt, quyết định, ghi chú, thời gian và liên kết tới phiên bản. Không nên chỉ dựa vào lịch sử chỉnh sửa giao diện; log dạng dữ liệu giúp n8n gửi báo cáo và cho phép kiểm tra sau này.
4. Bảng Questions và Feedback
Lưu câu hỏi, người dùng hoặc session, thời gian, nguồn được trả về, điểm đánh giá, lý do không hài lòng và trạng thái xử lý. Không lưu dữ liệu cá nhân nhạy cảm nếu không cần thiết; đặt thời gian lưu và chính sách xoá rõ ràng.
Workflow n8n cho bước duyệt nguồn
Workflow A: tiếp nhận và kiểm tra
Webhook hoặc trigger nhận metadata của file. Node đầu tiên kiểm tra phần mở rộng, kích thước, tên phòng ban và người sở hữu. Sau đó n8n tạo bản ghi pending_review trong NocoDB, gửi thông báo Telegram/Email cho người duyệt và trả về mã hồ sơ. Nếu file không đạt điều kiện, workflow ghi lỗi và không đưa vào kho RAG.
Workflow B: duyệt và lập chỉ mục
Khi người duyệt cập nhật trạng thái thành approved, n8n dùng trigger định kỳ hoặc webhook để đọc bản ghi. Workflow tải file, trích xuất nội dung, chuẩn hoá tiêu đề, chia đoạn có overlap hợp lý rồi tạo embedding. Metadata của từng chunk phải chứa document_id, version_id, phòng ban, ngày hiệu lực và quyền truy cập. Sau khi index thành công, n8n cập nhật mã index và trạng thái đồng bộ vào NocoDB.
Workflow C: thu hồi và hết hạn
Một Cron node mỗi ngày tìm các tài liệu sắp hết hạn, gửi nhắc trước cho chủ sở hữu và chuyển trạng thái sang expired khi quá hạn. Khi tài liệu bị thu hồi, workflow gọi API của kho vector để xoá theo version_id. Nếu API thất bại, phải ghi trạng thái revocation_pending và cảnh báo, không báo thành công giả.
Workflow D: retry và giám sát
Mỗi lần gọi API ngoài cần có timeout, số lần retry, backoff và idempotency key. Một bảng Sync Logs ghi số chunk, thời gian, lỗi HTTP và lần chạy cuối. Telegram chỉ nên nhận cảnh báo có ngữ cảnh: tài liệu nào, phiên bản nào, bước nào lỗi và link tới bản ghi NocoDB.
Chatbot trả lời như thế nào?
Khi người dùng đặt câu hỏi, chatbot gửi truy vấn tới lớp RAG với bộ lọc metadata. Ví dụ, nhân viên sales chỉ được tìm trong collection sales và những tài liệu có trạng thái hiệu lực. Prompt hệ thống cần yêu cầu AI:
- chỉ trả lời dựa trên các đoạn được cung cấp;
- nói rõ khi không đủ nguồn để kết luận;
- hiển thị tên tài liệu và phiên bản;
- không tự suy diễn chính sách giá, pháp lý hoặc bảo hành;
- chuyển người dùng tới chuyên viên khi câu hỏi vượt phạm vi.
Những câu hỏi không có nguồn tin cậy nên được ghi vào bảng Questions với trạng thái needs_review. Đội nội dung có thể dùng danh sách này để bổ sung FAQ, cập nhật tài liệu hoặc điều chỉnh chunking.
Kết hợp với Smax.AI, WordPress, Zalo, Messenger và website
Với Smax.AI, chatbot có thể trả lời câu hỏi phổ biến từ knowledge base đã duyệt, sau đó dùng User Input để xin số điện thoại khi khách cần báo giá hoặc cần chuyên viên. n8n nhận sự kiện handoff, ghi lead và câu hỏi chưa giải đáp vào NocoDB, rồi gửi thông báo cho sales.
Với website và WordPress, có thể tạo widget hỏi đáp tài liệu sản phẩm, chính sách hoặc hướng dẫn sử dụng. WordPress chỉ hiển thị nội dung đã được duyệt; khi bài hoặc tài liệu thay đổi, n8n có thể tạo yêu cầu re-index. Không nên cho chatbot tự lấy toàn bộ bài viết mới nếu chưa có quy trình phân loại và kiểm tra.
Với Messenger và Zalo, hệ thống phù hợp để trả lời câu hỏi trước bán hàng như thông số, điều kiện giao hàng hoặc quy trình đăng ký. Những câu liên quan khiếu nại, dữ liệu cá nhân, giá linh hoạt hoặc ngoại lệ nên chuyển chuyên viên. NocoDB giữ ngữ cảnh và trạng thái handoff để sales không phải hỏi lại khách.
Yêu cầu server tham khảo
Thông số phụ thuộc mô hình embedding, số lượng tài liệu và lượng truy cập. Với thử nghiệm nội bộ 1–3 người, có thể bắt đầu bằng máy 2 vCPU, RAM 4–8 GB, SSD 40–80 GB cho n8n, NocoDB và database. Khi chạy thêm kho vector và xử lý PDF thường xuyên, nên tách dịch vụ, dùng 4 vCPU và RAM 8–16 GB. Nếu tự host LLM hoặc embedding trên GPU, cần tính riêng VRAM, tốc độ đồng thời và chi phí điện. Đây chỉ là mức tham khảo; cần đo bằng dữ liệu thật trước khi cam kết SLA.
Ưu điểm và hạn chế
Ưu điểm: kiểm soát nguồn, dễ truy vết, có thể tự host, tách quy trình duyệt khỏi lớp AI và tận dụng n8n/NocoDB quen thuộc với đội automation. Doanh nghiệp cũng có thể thay kho vector hoặc mô hình mà không phải viết lại toàn bộ quy trình.
Hạn chế: nhiều thành phần hơn một chatbot demo; phải quản lý backup, phân quyền, cập nhật bảo mật và xoá dữ liệu đúng cách. RAG vẫn có thể trả lời sai nếu tài liệu mơ hồ, chunk không tốt hoặc bộ lọc quyền truy cập cấu hình sai. Bước duyệt làm chậm việc đưa kiến thức mới vào hệ thống, nhưng đó là chi phí cần thiết nếu câu trả lời có ảnh hưởng tới khách hàng hoặc vận hành.
Use case cho doanh nghiệp Việt Nam
- Trung tâm đào tạo: chatbot chỉ dùng giáo trình, học phí và chính sách tuyển sinh đã được quản lý học thuật duyệt.
- Nhà phân phối: sales tra cứu bảng thông số và chính sách đại lý theo phiên bản, còn câu hỏi chiết khấu được chuyển người phụ trách.
- Shop thương mại điện tử: trả lời hướng dẫn sử dụng và bảo hành, đồng thời ghi nhận các câu hỏi không có trong tài liệu.
- Agency automation: xây knowledge base riêng cho từng khách hàng, có người duyệt và log đồng bộ độc lập.
- Đội CSKH: kết hợp Chatwoot/Smax.AI với NocoDB để đo tỷ lệ câu hỏi được AI trả lời, tỷ lệ handoff và tài liệu thường gây nhầm lẫn.
Khi nào nên chọn blueprint này?
Nên chọn khi doanh nghiệp có nhiều tài liệu thay đổi theo thời gian, nhiều phòng ban cùng sử dụng, cần kiểm toán nguồn hoặc muốn tự host dữ liệu. Không cần triển khai đầy đủ ngay từ đầu: có thể bắt đầu với một phòng ban, một collection, một người duyệt và 20–50 tài liệu mẫu.
Không nên bắt đầu bằng kiến trúc này nếu chỉ cần chatbot FAQ vài câu cố định. Khi đó, menu và kịch bản có điều kiện sẽ rẻ, dễ kiểm soát hơn. Cũng không nên tự host LLM chỉ vì muốn “có AI riêng”; hãy đánh giá chất lượng tiếng Việt, độ trễ, bảo mật, chi phí vận hành và năng lực đội kỹ thuật.
Checklist triển khai
- Chọn một phòng ban và xác định loại câu hỏi được phép trả lời.
- Tạo bốn bảng NocoDB và quy ước trạng thái, phiên bản, quyền truy cập.
- Dựng workflow n8n tiếp nhận, duyệt, lập chỉ mục và thu hồi.
- Test bằng bộ câu hỏi thật, bao gồm cả câu hỏi không có trong tài liệu.
- Kiểm tra log, retry, backup và quyền xem trước khi mở cho khách hàng.
- Đo tỷ lệ trả lời có nguồn, tỷ lệ chuyển chuyên viên và tài liệu cần cập nhật mỗi tuần.
Kết luận
Chatbot hỏi đáp tài liệu đáng tin cậy không chỉ là một mô hình AI nối với vài file PDF. Nó là một quy trình quản trị kiến thức: nguồn được phân loại, phiên bản được kiểm tra, người chịu trách nhiệm được xác định và mọi lần đồng bộ đều có log. Kết hợp kho RAG với n8n và NocoDB giúp doanh nghiệp Việt Nam triển khai theo từng bước, tự host phần phù hợp và vẫn kết nối được với Smax.AI, WordPress, website, Messenger hoặc Zalo.
Nếu bạn muốn triển khai hệ thống AI automation, chatbot hoặc công cụ AI self-hosted tương tự cho doanh nghiệp, hãy liên hệ Quân Chatbot để được tư vấn giải pháp phù hợp.

Responses