Retrieval là một ranking pipeline nhiều tầng, không phải một lần gọi similarity search

Retrieval là một ranking pipeline nhiều tầng, không phải một lần gọi similarity search A workflow diagram generated by Archify. 01 / Ba tầng giữa câu hỏi và evidence EX / Chỗ evidence đúng có thể rơi mất Câu hỏi user · câu hỏi thô · Ba tầng giữa câu hỏi và evidence Câu hỏi user câu hỏi thô Query translation · hiểu đúng ý định · Ba tầng giữa câu hỏi và evidence Query translation hiểu đúng ý định Candidate retrieval · sparse, dense, fusion · Ba tầng giữa câu hỏi và evidence Candidate retrieval sparse, dense, fusion Precision ranking · reranker chấm lại · Ba tầng giữa câu hỏi và evidence Precision ranking reranker chấm lại Top-k evidence · sang Context Builder · Ba tầng giữa câu hỏi và evidence Top-k evidence sang Context Builder Rewrite lệch ý · search sai câu hỏi · Chỗ evidence đúng có thể rơi mất Rewrite lệch ý search sai câu hỏi Không lọt candidate · reranker không thấy · Chỗ evidence đúng có thể rơi mất Không lọt candidate reranker không thấy Rank quá thấp · không được lấy · Chỗ evidence đúng có thể rơi mất Rank quá thấp không được lấy nếu lệch nếu sót nếu thấp chuẩn hoá query mới top 30-50 chọn hẹp Legend User UI Agent logic Policy Tool action Cloud service External system

Ba tầng trả lời ba câu hỏi khác nhau

  • • Hiểu đúng câu hỏi, tìm thật rộng, rồi mới xếp hạng thật kỹ
  • • Mỗi tầng tối ưu một thứ và không tầng nào thay được tầng khác
  • • Gộp cả ba vào một lần gọi vector search là bỏ mất hai tầng

Lỗi ở tầng trước không sửa được ở tầng sau

  • • Reranker chỉ chọn lại trong những gì retriever đã đưa cho nó
  • • Retriever chỉ search trên representation mà indexing đã tạo ra
  • • Vì vậy debug retrieval phải đi ngược từ đầu pipeline chứ không phải từ cuối

Retrieval và generation là hai câu hỏi tách rời

  • • Evidence cần thiết có nằm trong retrieved set không
  • • Nếu đã có trong context rồi thì LLM có dùng nó đúng không
  • • Không tách hai lớp này thì rất dễ tối ưu nhầm component