1. Đặt vấn đề
Trong hệ thống RAG, sau khi embedding search tìm được các đoạn tài liệu liên quan, không phải lúc nào kết quả đầu tiên cũng là tốt nhất. Nhiều tài liệu bệnh viện có từ ngữ giống nhau, cấu trúc giống nhau hoặc cùng liên quan đến một chủ đề rộng. Nếu đưa nhầm đoạn tài liệu vào prompt, LLM có thể trả lời sai. Reranker giúp giải quyết vấn đề này bằng cách đánh giá lại mức độ liên quan giữa câu hỏi và từng đoạn tài liệu.
Model reranker là thành phần nâng cao nhưng rất hữu ích khi bệnh viện có kho tài liệu lớn hoặc yêu cầu câu trả lời có độ chính xác cao.
2. Reranker là gì?
Reranker là model nhận vào một cặp: câu hỏi và đoạn tài liệu, sau đó cho điểm mức độ liên quan. Nó không chỉ dựa vào khoảng cách vector như embedding search mà đánh giá trực tiếp sự phù hợp giữa truy vấn và nội dung.
Quy trình:
- Embedding search lấy top 20 đoạn.
- Reranker chấm điểm 20 đoạn.
- Chọn top 3–5 đoạn tốt nhất.
- Đưa vào prompt cho LLM.
3. Vì sao bệnh viện cần reranker?
Bệnh viện có nhiều tài liệu gần giống:
- Quy trình sự cố y khoa.
- Quy trình phản ánh người bệnh.
- Quy trình cải tiến chất lượng.
- Báo cáo an toàn người bệnh.
- Bảng kiểm giám sát.
- Tiêu chí chất lượng.
- Biểu mẫu gần giống nhau.
Embedding search có thể lấy nhiều đoạn liên quan chung chung. Reranker giúp chọn đoạn sát câu hỏi hơn.
Ví dụ, câu hỏi “biểu mẫu báo cáo té ngã dùng khi nào?” cần đoạn về biểu mẫu té ngã, không phải mọi đoạn có chữ “sự cố” hoặc “an toàn người bệnh”.
4. Khi nào cần reranker?
Không phải hệ thống nào cũng cần reranker ngay. Cần cân nhắc nếu:
- Kho tài liệu lớn.
- Tài liệu nhiều chủ đề gần nhau.
- Kết quả RAG hay sai nguồn.
- Câu hỏi người dùng phức tạp.
- Cần giảm số chunk đưa vào prompt.
- Cần tăng độ chính xác hơn tốc độ.
Nếu kho tài liệu nhỏ và embedding tốt, có thể chưa cần reranker giai đoạn đầu.
5. Tiêu chí chọn reranker
Reranker cần:
- Hỗ trợ tiếng Việt tốt.
- Chấm điểm ổn định.
- Tốc độ chấp nhận được.
- Dễ tích hợp.
- Phù hợp với loại tài liệu bệnh viện.
- Có giấy phép phù hợp.
- Cải thiện rõ kết quả trên bộ test.
Không nên thêm reranker chỉ vì kiến trúc nghe hiện đại. Cần chứng minh nó cải thiện kết quả.
6. Reranker làm chậm hệ thống
Reranker cần đọc từng cặp câu hỏi - đoạn tài liệu. Nếu lấy top 50 từ FAISS rồi rerank hết, thời gian có thể tăng. Cần tối ưu:
- Chỉ rerank top 10–20.
- Giới hạn độ dài chunk.
- Cache nếu có thể.
- Dùng model reranker vừa phải.
- Chỉ dùng reranker cho tác vụ cần độ chính xác cao.
Trong bệnh viện, tốc độ vẫn quan trọng. Nếu người dùng phải chờ quá lâu, họ sẽ ít dùng hệ thống.
7. Đánh giá reranker
Cần so sánh trước và sau khi dùng reranker:
- Tài liệu đúng có lên top 1 không?
- Top 3 có tốt hơn không?
- Câu trả lời cuối có đúng hơn không?
- Thời gian phản hồi tăng bao nhiêu?
- Có đáng đổi tốc độ lấy chất lượng không?
Dùng bộ câu hỏi chuẩn về quy trình, biểu mẫu, tiêu chí, văn bản pháp luật và tài liệu chuyên môn.
8. Reranker và metadata
Reranker không thay thế metadata. Nếu tài liệu hết hiệu lực, reranker vẫn có thể chấm cao vì nội dung liên quan. Do đó, cần lọc metadata trước hoặc sau reranking:
- Chỉ tài liệu còn hiệu lực.
- Chỉ tài liệu người dùng có quyền.
- Chỉ tài liệu trong phạm vi phòng ban.
- Ưu tiên phiên bản mới.
9. Kết luận
Reranker là thành phần giúp nâng cao chất lượng truy xuất trong RAG, đặc biệt khi kho tài liệu bệnh viện lớn và có nhiều nội dung gần giống. Nó giúp chọn đúng đoạn tài liệu hơn trước khi đưa vào LLM. Tuy nhiên, reranker làm tăng thời gian xử lý và cần được đánh giá bằng dữ liệu thực tế. Bệnh viện nên triển khai reranker khi embedding search chưa đủ chính xác hoặc khi ứng dụng yêu cầu độ tin cậy cao.
- Đăng nhập để gửi ý kiến