Większość samouczków RAG kończy się na etapie demo. Dzielisz tekst na fragmenty według liczby tokenów, wrzucasz wszystko do bazy wektorowej i na tym koniec. To działa, gdy użytkownik pyta „Jaka jest polityka zwrotów?” w czystym FAQ. Rozpada się jednak, gdy ktoś wkleja połowę umowy i pyta o trzecią klauzulę, lub gdy programista wpisuje niejasny kod błędu w wyszukiwarkę dokumentacji.
Stałe okna tokenów przerywają umowy prawne w połowie zdania. Duże fragmenty grzebią referencje API pod akapitami szumu. Co najgorsze, powolne wyszukiwanie sprawia, że użytkownicy porzucają zapytanie, zanim model w ogóle zacznie generować odpowiedź. Nauczyliśmy się tego na własnej skórze. Kiedy przeszliśmy z etapu „liczenia na szczęście” do etapu pomiarów w naszej warstwie wyszukiwania, zmniejszyliśmy opóźnienia o czterdzieści procent i zwiększyliśmy recall do dziewięćdziesięciu pięciu procent. Oto co dokładnie się zmieniło.
Inteligentny chunking
Przestań myśleć o rozmiarze fragmentu (chunk size) jak o magicznej liczbie. Okno 512 tokenów nie ma sensu w przypadku dokumentu prawnego, gdzie pojedyncza klauzula rozciąga się na wiele
Liczby mówią same za siebie. Nasz Recall@10 wzrósł z 78% do 95%. Opóźnienie p95 spadło z 850 ms do 320 ms. A ponieważ model w końcu otrzymywał istotny kontekst zamiast szumu, wskaźnik halucynacji spadł z 12% do 3%. Lepsze wyszukiwanie nie tylko przyspiesza odpowiedzi. Sprawia, że stają się one prawdziwe.
Co dalej
Jeśli przebudowujesz swoją warstwę wyszukiwania (retrieval layer), zacznij tutaj:
- Dziel na fragmenty (chunking) zgodnie ze strukturą dokumentu, a nie liczbą tokenów. Dopasuj strategię dzielenia do kształtu swoich danych.
- Stosuj wyszukiwanie hybrydowe. Połącz wyszukiwanie wektorowe z BM25, połącz wyniki za pomocą Reciprocal Rank Fusion i wykonaj reranking przed generowaniem.
- Rozszerzaj zapytania dla lepszego pokrycia. Przekształcaj i dekomponuj zapytania, zanim rozpocznie się wyszukiwanie.
- Zbuduj „złoty zestaw danych” (golden dataset) do testów. Nie możesz optymalizować tego, czego nie mierzysz.
- Optymalizuj parametry za pomocą zautomatyzowanych narzędzi. Wyszukiwanie bayesowskie znajdzie lepsze ustawienia niż Twoja intuicja.
Wyszukiwanie (retrieval) to nie plik konfiguracyjny, który ustawiasz raz i zapominasz o nim. To infrastruktura, a infrastruktura zasługuje na taką samą rygorystyczność jak kod produkcyjny: testy, pomiary i ciągła optymalizacja. Podejdź do niej w ten sposób, a Twój system RAG przestanie być tylko demo, a zacznie być produktem.
Opcjonalna społeczność edukacyjna: GyaanSetu AI
