Чому ваша RAG-система галюцинує
Ваша RAG-система має 34% точності пошуку (retrieval accuracy). Ви дотримувалися кожного туторіалу. Ви використовували правильні бібліотеки. Ви обрали розмір чанку (chunk size) зі статті в блозі. Проте система все одно дає збої.
Це не проблема інструментарію. Це проблема основ.
Коли ви накладаєте бібліотеки одна на одну, не розуміючи рівнів, що лежать під ними, ви створюєте «борг абстракції» (abstraction debt). Ви отримуєте швидкість, але втрачаєте можливість налагодження (debug). Ви будуєте «чорну скриньку».
Щоб виправити свій RAG-конвеєр (pipeline), ви повинні опанувати три рівні:
Стратегія чанкування (Chunking Strategy) Розмір чанку — це семантичне рішення. Якщо ваші чанки становлять 512 токенів, ви отримуєте параграфи. Якщо ваші запитання потребують поєднання ідей із багатьох параграфів, ваші чанки занадто малі. Ви повинні вирішити, який обсяг контексту передається між чанками.
Моделі ембедингів (Embedding Models) Щільні ембединги (dense embeddings) вловлюють зміст, але втрачають точний синтаксис. Модель може сприймати «error 403» та «error 404» як майже ідентичні. Ви повинні знати, що саме вловлює ваша модель. Юридичному контракту потрібні інші ембединги, ніж репозиторію коду.
Retrieval проти Recall Векторний пошук знаходить усе, що потенційно є релевантним. Це повнота (recall). Для промислової RAG потрібна точність (precision). Вам потрібна точна відповідь, а не десять схожих параграфів. Ось чому вам потрібен гібридний пошук (hybrid search).
Гібридний пошук поєднує щільні вектори з пошуком за ключовими словами (BM25).
- Чисто семантичний пошук пропускає точні коди або ID.
- Чисто ключовий пошук пропускає концептуальне значення.
- Гібридний пошук зважує обидва параметри, щоб знайти істину.
Правильне зважування не прописане в інструкції. Ви знаходите його шляхом тестування на своїх специфічних даних.
Припиніть покладатися на магію. Якщо ви не можете побудувати базовий RAG-конвеєр з нуля, ви не готові до Agentic RAG. Складність зростає, коли ви не розумієте основ.
Зробіть ці чотири речі перед своїм наступним проєктом:
- Проведіть бенчмаркінг чанкування. Протестуйте три різні розміри. Виміряйте точність (precision) для top-1 та top-5.
- Тестуйте ембединги на реальних даних. Не використовуйте синтетичні тести. Використовуйте реальні запити ваших користувачів.
- Логуйте помилки. Протягом двох тижнів фіксуйте кожен запит, який завершився невдало. Шукайте закономірності в тому, що саме пропускає ваш пошук.
- Впровадьте BM25 хоча б один раз. Навіть якщо пізніше ви використовуватимете бібліотеку, вам потрібно розуміти базовий рівень пошуку за ключовими словами.
Бібліотеки купують вам час. Розуміння купує вам надійність.
Додаткова спільнота для навчання: https://t.me/GyaanSetuAi