Три способа дать LLM ваши знания
Есть несколько подходов, чтобы LLM «знала» ваши данные: положить всё в контекст (промпт), дообучить модель (fine-tuning) или использовать RAG. У каждого своё место. Понимание, когда что применять, — важное инженерное решение. Разберём различия.
Три подхода
- Всё в контекст: вставить нужные данные прямо в промпт. Просто, но данных должно быть мало (лимит контекста), и дорого повторять большой контекст каждый раз.
- Дообучение (fine-tuning): дообучить модель на ваших данных. Хорошо для стиля и поведения, но дорого, сложно обновлять, и модель всё равно склонна выдумывать по фактам.
- RAG: находить релевантное в ваших данных и подавать в контекст динамически. Хорошо для работы с обширными, меняющимися данными по фактам.
Частое заблуждение: «надо дообучить»
Распространённая ошибка новичков — думать, что для «ответов по нашим документам» нужно дообучать модель. Обычно нет. Дообучение хорошо для стиля и поведения, но плохо для запоминания фактов (модель всё равно выдумывает, а обновлять дорого). Для фактических ответов по вашим данным RAG почти всегда лучше: дешевле, легко обновляется (просто меняете данные), даёт ссылки на источник, меньше галлюцинирует. Не спешите дообучать там, где нужен RAG.
Сильные стороны RAG
RAG особенно хорош, когда: данных много (не влезают в контекст), они меняются (обновили — RAG сразу использует новое), нужны точные ответы по фактам, нужны ссылки на источник (важно для доверия — можно показать, откуда ответ). Именно поэтому RAG — стандартное решение для ассистентов по базе знаний, поддержке по документам, поиску по внутренним данным. Дальше в курсе — как его построить.
Правило: мало данных → контекст; много меняющихся данных с фактами и нужны ссылки → RAG; изменить стиль/поведение → дообучение. Для «ответов по нашим данным» обычно нужен RAG, а не дообучение.
🧠 Что обычно нужно для «ответов по нашим документам»?