SSkilvy

Три способа дать LLM ваши знания

Есть несколько подходов, чтобы LLM «знала» ваши данные: положить всё в контекст (промпт), дообучить модель (fine-tuning) или использовать RAG. У каждого своё место. Понимание, когда что применять, — важное инженерное решение. Разберём различия.

✕ Не всегда подходит • дообучение: дорого, для стиля• весь контекст: дорого, лимит• данные меняются часто ✓ RAG хорош когда • данные обширные• нужны свежие/приватные• нужны ссылки на источник
RAG лучше подходит, когда данные обширны, меняются и нужны ссылки на источник.

Три подхода

  • Всё в контекст: вставить нужные данные прямо в промпт. Просто, но данных должно быть мало (лимит контекста), и дорого повторять большой контекст каждый раз.
  • Дообучение (fine-tuning): дообучить модель на ваших данных. Хорошо для стиля и поведения, но дорого, сложно обновлять, и модель всё равно склонна выдумывать по фактам.
  • RAG: находить релевантное в ваших данных и подавать в контекст динамически. Хорошо для работы с обширными, меняющимися данными по фактам.
Когда выбрать RAG, а когда дообучение или просто контекст?
Ориентиры для выбора: 1) Просто вставить в контекст — когда данных МАЛО и они помещаются в промпт (несколько абзацев, короткий документ). Не нужна сложность RAG. Но если данных много или контекст повторяется на каждый запрос — дорого и упрётесь в лимит. 2) RAG — когда данных МНОГО (не влезают в контекст), они МЕНЯЮТСЯ (обновили документ — RAG сразу использует новое, переобучать не надо), нужны ФАКТИЧЕСКИ ТОЧНЫЕ ответы по вашим данным, и/или нужны ССЫЛКИ на источник (RAG знает, откуда взял ответ). Это самый частый выбор для «ответов по базе знаний / документам». 3) Дообучение (fine-tuning) — когда нужно изменить СТИЛЬ, ФОРМАТ, ПОВЕДЕНИЕ модели (говорить определённым тоном, следовать сложному формату, специфическая задача), а не добавить фактических знаний. Важно: дообучение плохо подходит для «запомнить факты» — модель всё равно может выдумывать, а обновлять дорого. Для фактов по вашим данным RAG почти всегда лучше. Частая ошибка новичков: думать, что для «ответов по нашим документам» нужно дообучать модель. Обычно нет — нужен RAG: он дешевле, легко обновляется (просто меняете данные), даёт ссылки на источник и меньше выдумывает. Практическое правило: мало данных → контекст; много меняющихся данных с фактами → RAG; изменить стиль/поведение → fine-tuning. Часто комбинируют: RAG для знаний + возможно fine-tuning для стиля. Для большинства задач «ИИ по нашим данным» ответ — RAG.

Частое заблуждение: «надо дообучить»

Распространённая ошибка новичков — думать, что для «ответов по нашим документам» нужно дообучать модель. Обычно нет. Дообучение хорошо для стиля и поведения, но плохо для запоминания фактов (модель всё равно выдумывает, а обновлять дорого). Для фактических ответов по вашим данным RAG почти всегда лучше: дешевле, легко обновляется (просто меняете данные), даёт ссылки на источник, меньше галлюцинирует. Не спешите дообучать там, где нужен RAG.

Сильные стороны RAG

RAG особенно хорош, когда: данных много (не влезают в контекст), они меняются (обновили — RAG сразу использует новое), нужны точные ответы по фактам, нужны ссылки на источник (важно для доверия — можно показать, откуда ответ). Именно поэтому RAG — стандартное решение для ассистентов по базе знаний, поддержке по документам, поиску по внутренним данным. Дальше в курсе — как его построить.

Правило: мало данных → контекст; много меняющихся данных с фактами и нужны ссылки → RAG; изменить стиль/поведение → дообучение. Для «ответов по нашим данным» обычно нужен RAG, а не дообучение.

🧠 Что обычно нужно для «ответов по нашим документам»?