Pobieranie źródeł (retrieval)
Pobieranie źródeł to etap w potoku RAG, w którym silnik generatywny wyszukuje fragmenty tekstu semantycznie zbliżone do zapytania użytkownika, a następnie przekazuje je modelowi językowemu jako kontekst do sformułowania odpowiedzi.
Najważniejsze
- Pobieranie źródeł opiera się na podobieństwie semantycznym: każdy fragment strony jest osobno zamieniany na wektor, a silnik pobiera top-k fragmentów najbliższych zapytaniu.
- Fragment zawierający nierozwiązane zaimki lub odwołania do wcześniejszego kontekstu strony generuje niespójny embedding i może zostać pominięty przy pobieraniu.
- Strony z 15 lub więcej rozpoznanymi encjami są cytowane częściej (Wellows, r=0,76, n=15 847), co wskazuje, że głębokość tematyczna wpływa na szansę pobrania fragmentu.
Jak to działa
Potok RAG dzieli stronę na fragmenty na granicach akapitów i nagłówków, zamienia każdy fragment na osobny wektor, a następnie pobiera te, których wektor jest semantycznie najbliższy zapytaniu. Pobrany fragment trafia do okna kontekstowego modelu i staje się podstawą cytowania. Przykład: artykuł o kredytach hipotecznych podzielony na sekcje z nagłówkami pytającymi zwiększa szansę, że każda sekcja zostanie pobrana osobno i dopasowana do konkretnego zapytania użytkownika. Sekcje otwierane bezpośrednią odpowiedzią są cytowane 2,6 razy częściej (Presenc.ai), co sugeruje korelację między strukturą treści a skutecznością pobierania.
Powiązane pojęcia
- RAG (generowanie wspomagane pobieraniem) Generowanie wspomagane pobieraniem (RAG) to architektura, w której model językowy przed wygenerowaniem odpowiedzi pobiera z zewnętrznego indeksu fragmenty dokumentów semantycznie zbliżone do zapytania, a następnie włącza je do kontekstu generowania, co pozwala odpowiedzi opierać się na aktualnych, konkretnych źródłach.
- Dzielenie na fragmenty (chunking) Dzielenie na fragmenty to mechanizm przetwarzania treści w potokach RAG, w którym strona jest rozbijana na mniejsze, osobno osadzane w przestrzeni wektorowej jednostki tekstu, a następnie pobierana jest tylko ta jednostka, która semantycznie najlepiej odpowiada zapytaniu użytkownika.
- Wektor semantyczny (embedding) Wektor semantyczny (embedding) to liczbowa reprezentacja fragmentu tekstu w przestrzeni wielowymiarowej, w której bliskość między wektorami odpowiada bliskości znaczenia, co pozwala silnikowi RAG odnaleźć fragmenty treści semantycznie pasujące do zapytania użytkownika.