WzorzecAI
antywzorzec

Chunking po 512 znakach bez overlapu

Domyślne ustawienie z tutoriala, które na produkcji gubi połowę odpowiedzi.

RAGchunking

Co się dzieje

Bierzesz RecursiveCharacterTextSplitter z domyślnymi ustawieniami, puszczasz na dokumentację i idziesz dalej. Na dziesięciu pytaniach testowych działa. Na produkcji użytkownicy zgłaszają, że model „nie widzi" rzeczy, które w dokumentach są.

Dlaczego to nie działa

Granica fragmentu trafia w środek zdania, definicji albo tabeli. Fragment przed granicą i fragment za nią osobno nie znaczą nic. Embedding takiego kawałka jest bliski wszystkiemu i niczemu, więc retrieval go nie wyciąga — albo wyciąga do losowych pytań.

Jak poznać, że masz ten problem

  • odpowiedzi „nie znalazłem informacji" przy pytaniach, na które dokumenty odpowiadają,
  • te same fragmenty wracają do niepowiązanych pytań,
  • skuteczność spada wyraźnie na dłuższych dokumentach.

Co zrobić zamiast

Patrz: chunking z overlapem i nagłówkiem sekcji.