Cào dữ liệu bất đồng bộ (Async Scraping) tốt hơn cho việc nạp dữ liệu RAG

Các hệ thống RAG thường thất bại do dữ liệu bị cũ. Trang web thay đổi nhưng chỉ mục (index) của bạn vẫn giữ nguyên. Khi đó, AI của bạn sẽ đưa ra các câu trả lời sai với độ tự tin cao.

Nhiều người cố gắng khắc phục điều này bằng các trình cào dữ liệu đồng bộ (synchronous scrapers) đơn giản. Bạn tải một trang, trích xuất dữ liệu và cập nhật kho lưu trữ vector (vector store) của mình. Cách tiếp cận này gây ra nhiều vấn đề khi triển khai thực tế (production).

Các vấn đề chính với việc cào dữ liệu đồng bộ:

Cào dữ liệu bất đồng bộ (Async scraping) sử dụng quy trình: gửi (submit), kiểm tra (poll) và lấy kết quả (retrieve). Bạn gửi một tác vụ, nhận một ID công việc (job ID) và kiểm tra kết quả sau đó. Điều này giúp ứng dụng của bạn luôn hoạt động nhanh chóng.

Cách xây dựng một đường ống nạp dữ liệu (ingestion pipeline) đáng tin cậy:

Cào dữ liệu bất đồng bộ hoạt động tốt nhất cho các cập nhật chạy ngầm và làm mới theo lịch trình. Nó không dành cho các nhu cầu thời gian thực khi người dùng phải chờ đợi một trang web mới nhất.

Nếu người dùng cần dữ liệu ngay lập tức, hãy hiển thị cho họ nội dung đã được lưu trong bộ nhớ đệm (cached content) và cập nhật chỉ mục ở chế độ chạy ngầm.

Source: https://dev.to/anakin_writers/async-scraping-jobs-are-usually-a-better-fit-for-rag-ingestion-than-blocking-requests-12k1

Optional learning community: https://t.me/GyaanSetuAi