Я витратив $500 на інфраструктуру RAG, перш ніж виправити ці 7 помилок

Я побудував RAG-пайплайн для пошуку по приватних документах. Це коштувало мені $500 на обчислення та тижнів налагодження. Результати були поганими. Користувачі отримували неправильні відповіді, а запити виконувалися повільно.

Я провів аудит пайплайну. Я знайшов 7 помилок. Їх виправлення змінило все.

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

Результати після виправлень:

  • Релевантність відповідей: від 45% до 85%
  • Затримка: з 3,2 с до 1,8 с
  • Щомісячна вартість: зі $180 до $95

Спочатку виправте чанкування. Потім — ваги. Потім — якість ембедінгів.

Джерело: https://dev.to/kollittle/i-spent-500-on-rag-infrastructure-before-realizing-these-7-mistakes-were-killing-my-results-iph