Я витратив $500 на інфраструктуру RAG, перш ніж виправити ці 7 помилок
Я побудував RAG-пайплайн для пошуку по приватних документах. Це коштувало мені $500 на обчислення та тижнів налагодження. Результати були поганими. Користувачі отримували неправильні відповіді, а запити виконувалися повільно.
Я провів аудит пайплайну. Я знайшов 7 помилок. Їх виправлення змінило все.
- Фіксоване розбиття на токени (Token Chunking) Я розбивав документи по 512 токенів. Це руйнувало контекст. Пояснення API могло розірватися посеред речення. LLM отримувала фрагменти та видавала безглузді відповіді. Виправлення: Використовуйте семантичне розбиття (semantic chunking).
- Розбивайте за природними межами, такими як абзаци або заголовки.
- Використовуйте retrieval батьківського документа (parent-document retrieval).
- Створюйте маленькі дочірні чанки (child chunks) для пошуку.
- Повертайте LLM повний батьківський документ.
- Додайте 10-20% перекриття між чанками.
- Погані ваги гібридного пошуку (Hybrid Search Weights) Я використовував розподіл 50/50 для векторного та ключового пошуку. Це не спрацювало для технічної документації. Технічним користувачам потрібні точні збіги за ключовими словами. Виправлення: Використовуйте динамічні ваги.
- Фактологічні запити: 35% векторний, 65% ключовий.
- Семантичні запити: 75% векторний, 25% ключовий.
- Загальні запити: 60% векторний, 40% ключовий.
- Надмірне налаштування параметрів HNSW
Я встановив
ef_constructionна максимум. Це призвело до збою сервера. Використовувалася вся доступна оперативна пам'ять (RAM). Виправлення: Використовуйте відповідні параметри.
- Встановіть
Mу межах від 8 до 32
Результати після виправлень:
- Релевантність відповідей: від 45% до 85%
- Затримка: з 3,2 с до 1,8 с
- Щомісячна вартість: зі $180 до $95
Спочатку виправте чанкування. Потім — ваги. Потім — якість ембедінгів.