Lọc trước hay lọc sau nearest-neighbor search là hai bài toán recall khác nhau

Lọc trước hay lọc sau nearest-neighbor search là hai bài toán recall khác nhau A workflow diagram generated by Archify. 01 / Pre-filter: thu hẹp rồi mới tìm EX / Post-filter: tìm rồi mới loại Toàn bộ index · mọi tenant, mọi version · Pre-filter: thu hẹp rồi mới tìm Toàn bộ index mọi tenant, mọi version Áp ràng buộc cứng · tenant, version, quyền đọc · Pre-filter: thu hẹp rồi mới tìm Áp ràng buộc cứng tenant, version, quyền đọc Tập hợp lệ · chỉ những gì user được thấy · Pre-filter: thu hẹp rồi mới tìm Tập hợp lệ chỉ những gì user được thấy Vector search · tìm trong tập đã thu hẹp · Pre-filter: thu hẹp rồi mới tìm Vector search tìm trong tập đã thu hẹp Đủ top-k hợp lệ · ưu tiên recall · Pre-filter: thu hẹp rồi mới tìm Đủ top-k hợp lệ ưu tiên recall Vector search trước · lấy top 10 toàn index · Post-filter: tìm rồi mới loại Vector search trước lấy top 10 toàn index Lọc sau khi đã xếp · loại 9 trên 10 kết quả · Post-filter: tìm rồi mới loại Lọc sau khi đã xếp loại 9 trên 10 kết quả Còn lại một dòng · hạng 11 đến 100 không ai xem · Post-filter: tìm rồi mới loại Còn lại một dòng hạng 11 đến 100 không ai xem cách kia lọc sau hậu quả trước tiên thu hẹp rồi mới tìm đủ ứng viên Legend User UI Agent logic Policy Context / trace Cloud service

Filter không chỉ là cú pháp của câu truy vấn

  • • Nó là một tham số retrieval và nó thay đổi Recall@K
  • • Cùng một filter, đặt trước hay sau search cho hai kết quả khác nhau
  • • Azure AI Search phơi ra rõ preFilter, postFilter và strictPostFilter

Post-filter dễ tạo ra âm tính giả

  • • Khi filter rất chọn lọc hoặc k nhỏ, phần lớn top-k bị loại sạch
  • • Trong khi corpus vẫn còn nhiều tài liệu hợp lệ ở hạng 11 đến 100
  • • Triệu chứng nhìn giống hệt lỗi embedding, nhưng nguyên nhân là thứ tự lọc

Đừng cố nhét mọi ràng buộc vào embedding

  • • Similarity hợp để đo mức liên quan về ngữ nghĩa
  • • Metadata hợp cho bằng nhau, khoảng giá trị, phân loại, version và quyền
  • • Khi benchmark, hãy đo cùng lúc Recall@K, độ trễ, độ chọn lọc của filter và k