Okno kontekstu
Okno kontekstu to maksymalna liczba tokenów, którą model językowy przetwarza jednocześnie podczas generowania odpowiedzi. Obejmuje zapytanie użytkownika, pobrane fragmenty dokumentów oraz budowaną odpowiedź. Treści przekraczające ten limit są pomijane przez model.
Po angielsku: Context Window.
Najważniejsze
- Okno kontekstu wyznacza twardy limit ilości tekstu widocznego dla modelu naraz. Fragmenty dokumentów pobrane przez RAG muszą zmieścić się w tym limicie razem z zapytaniem i odpowiedzią.
- Potoki RAG kompensują ograniczone okno kontekstu, wybierając tylko top-k semantycznie najbliższych fragmentów. Treść poza tym wyborem pozostaje niewidoczna dla modelu podczas generowania.
- Fragmenty zawierające nierozwiązane zaimki lub odwołania do wcześniejszych akapitów mogą dawać niespójny embedding i być pomijane przez potok RAG w celu ograniczenia ryzyka halucynacji.
Jak to działa
Model językowy przetwarza tekst w porcjach mieszczących się w oknie kontekstu. W architekturze RAG potok najpierw dzieli strony na fragmenty na granicach akapitów i nagłówków, zamienia każdy fragment na osobny wektor, a następnie pobiera top-k przez podobieństwo semantyczne. Tylko te wybrane fragmenty trafiają do okna kontekstu razem z zapytaniem. Fragment, który nie zmieści się w limicie lub zostanie oceniony jako semantycznie odległy, jest pomijany. Każdy fragment powinien nieść pełną myśl i być zrozumiały po wyjęciu ze strony, tak by po pobraniu przez RAG dostarczał modelowi kompletną informację.
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.