Asynchroniczne scrapowanie lepiej sprawdza się w ingestii RAG

Systemy RAG często zawodzą z powodu nieaktualnych danych. Strona się zmienia, ale Twój indeks pozostaje taki sam. W efekcie Twoja sztuczna inteligencja udziela błędnych odpowiedzi z dużą pewnością.

Wiele osób próbuje rozwiązać ten problem za pomocą prostych, synchronicznych scraperów. Pobierasz stronę, wyodrębniasz dane i aktualizujesz swoją bazę wektorową. Takie podejście generuje problemy w środowisku produkcyjnym.

Główne problemy ze scrapowaniem synchronicznym:

Asynchroniczne scrapowanie wykorzystuje przepływ typu „wyślij, odpytaj i pobierz” (submit, poll, and retrieve). Przesyłasz zadanie, otrzymujesz identyfikator zadania (job ID) i sprawdzasz wynik później. Dzięki temu Twoja aplikacja pozostaje szybka.

Jak zbudować niezawodny potok ingestii:

Asynchroniczne scrapowanie najlepiej sprawdza się przy aktualizacjach w tle i zaplanowanych odświeżeniach. Nie jest przeznaczone do potrzeb czasu rzeczywistego, w których użytkownik czeka na świeżą stronę.

Jeśli użytkownik potrzebuje danych natychmiast, pokaż mu zasoby z pamięci podręcznej i zaktualizuj indeks w tle.

Źródło: https://dev.to/anakin_writers/async-scraping-jobs-are-usually-a-better-fit-for-rag-ingestion-than-blocking-requests-12k1

Opcjonalna społeczność edukacyjna: https://t.me/GyaanSetuAi