1. Đặt vấn đề
Trong hệ thống RAG, FAISS index, metadata và kho tài liệu đã xử lý quan trọng không kém model. Model có thể tải lại, nhưng dữ liệu RAG là tài sản tri thức của bệnh viện. Nếu mất FAISS index, chatbot không truy xuất được tài liệu. Nếu mất metadata, hệ thống không biết chunk thuộc tài liệu nào, phiên bản nào, quyền truy cập ra sao. Nếu mất kho tài liệu đã làm sạch, phải xử lý lại từ đầu.
Backup dữ liệu FAISS và kho tài liệu là yêu cầu bắt buộc nếu bệnh viện dùng RAG.
2. Thành phần cần backup
Cần backup:
- Tài liệu gốc.
- Tài liệu đã làm sạch.
- Chunk text.
- FAISS index.
- Metadata chunk.
- Database metadata nếu có.
- File mapping vector ID → chunk ID.
- Cấu hình embedding model.
- Cấu hình chunking.
- Prompt template RAG.
- Danh mục tài liệu.
- Log cập nhật index.
- Script build index.
Không chỉ backup file .index của FAISS.
3. Vì sao metadata quan trọng?
FAISS chỉ biết vector. Metadata cho biết:
- Nội dung chunk.
- Tên tài liệu.
- Phiên bản.
- Ngày ban hành.
- Tình trạng hiệu lực.
- Quyền truy cập.
- Link nguồn.
- Vị trí trong tài liệu.
- Mã tài liệu.
Nếu mất metadata, kết quả truy xuất không còn ý nghĩa.
4. Backup FAISS index
Ví dụ nếu index nằm ở:
/mnt/ai/rag/faiss/Có thể backup:
rsync -aH --delete /mnt/ai/rag/faiss/ /mnt/backup/rag/faiss/Cần đảm bảo không backup khi index đang ghi dở. Nếu có cập nhật index, nên tạo bản index mới rồi chuyển đổi atomically hoặc backup sau khi build xong.
5. Backup metadata
Nếu metadata là SQLite/PostgreSQL/MySQL, cần backup theo đúng loại database.
Ví dụ SQLite:
sqlite3 metadata.db ".backup '/mnt/backup/rag/metadata.db'"Nếu là PostgreSQL/MySQL, dùng công cụ dump phù hợp.
Nếu metadata là JSON/JSONL, có thể dùng rsync, nhưng cần đảm bảo file không đang ghi dở.
6. Backup tài liệu gốc
Tài liệu gốc cần giữ vì:
- Có thể cần tạo lại index.
- Có thể cần kiểm tra nguồn.
- Có thể cần đối chiếu khi AI trả lời sai.
- Có thể cần hiển thị file gốc cho người dùng.
Tài liệu gốc nên có cấu trúc thư mục rõ và metadata.
7. Backup tài liệu đã xử lý
Tài liệu đã làm sạch và chunk đã tạo cũng nên backup. Nếu không, khi rebuild index phải xử lý lại toàn bộ từ file gốc, tốn thời gian và có thể không tái tạo y hệt nếu pipeline thay đổi.
8. Versioning index
Nên lưu index theo version:
rag_index_2026-05-17_v1/rag_index_2026-05-24_v2/
Mỗi version nên có:
- FAISS index.
- Metadata.
- Config.
- Embedding model.
- Chunking settings.
- Số tài liệu.
- Số chunk.
- Ngày tạo.
- Người tạo.
Nếu index mới lỗi, có thể rollback.
9. Backup trước khi cập nhật lớn
Trước khi:
- Đổi embedding model.
- Đổi chunking.
- Rebuild toàn bộ index.
- Xóa tài liệu cũ.
- Thay metadata schema.
- Cập nhật phần mềm RAG.
Cần backup bản hiện tại.
10. Kiểm thử khôi phục RAG
Cần test:
- Khôi phục FAISS index.
- Khôi phục metadata.
- Gọi RAG search.
- Trả đúng nguồn.
- Lọc quyền đúng.
- Chatbot trả lời có nguồn.
- Kiểm tra một số câu hỏi mẫu.
Nếu không test, backup có thể không dùng được.
11. Bảo mật backup RAG
Backup RAG có thể chứa tài liệu nội bộ, phản ánh, sự cố, văn bản nhạy cảm. Cần:
- Phân quyền thư mục backup.
- Mã hóa nếu cần.
- Không để backup ở nơi công khai.
- Kiểm soát người truy cập.
- Xác định retention.
- Không đưa backup lên dịch vụ ngoài khi chưa được phép.
12. Kết luận
Backup FAISS và kho tài liệu là phần sống còn của hệ thống RAG. Cần backup đầy đủ index, metadata, tài liệu gốc, tài liệu đã xử lý, chunk, cấu hình embedding và script build index. Đồng thời phải có versioning và kiểm thử khôi phục. Với bệnh viện, mất dữ liệu RAG không chỉ là mất file kỹ thuật, mà là mất kho tri thức đã tổ chức.
- Đăng nhập để gửi ý kiến