RAG Keywords Search + ReRank
Áp dụng RAG ở các hệ thống lớn đang có sẵn mà chưa cần Vector Search ngay thì chúng ta có thể áp dụng kiến trúc Keyword Search + Rerank.
Flow sẽ như sau
1. User Input (Query)
Người dùng nhập một query (truy vấn) vào hệ thống từ giao diện.
2. Keyword Search
Query được gửi đến Keyword Search engine (ví dụ: Elasticsearch hoặc BM25).
Module này thực hiện tìm kiếm theo từ khóa trong Database (cơ sở dữ liệu) để lấy các kết quả liên quan ban đầu.
3. Document Retrieval from Database
Keyword Search truy xuất một tập các tài liệu ứng viên từ Database.
Đây là các kết quả ban đầu, chưa được sắp xếp hoàn hảo theo mức độ liên quan.
4. Re-Ranking Model
Các tài liệu được đưa qua một Ranking Model (ví dụ: Cross-Encoder).
Mô hình này sử dụng cả query và từng tài liệu để tính lại điểm số và xếp hạng lại dựa trên mức độ phù hợp.
5. Prompt Construction
Các tài liệu xếp hạng cao nhất (top-k) được kết hợp với:
- System Prompt
- Query
- Context (các tài liệu đã truy xuất)
Tất cả được cấu trúc lại thành một prompt đưa vào cho Language Model.
6. Language Model Generation
Prompt được đưa vào Language Model (ví dụ: GPT).
Mô hình tạo ra một response (phản hồi) bằng ngôn ngữ tự nhiên dựa trên query và context.
7. Final Response
Response cuối cùng được gửi trả về người dùng trong giao diện.