База знаний
RAG простыми словами: как AI отвечает по вашим документам
RAG — это способ заставить языковую модель отвечать не «из головы», а по вашим документам: перед каждым ответом система находит нужные фрагменты и отдаёт их модели вместе с вопросом. Объясняем без формул, что происходит внутри, почему это надёжнее дообучения и что зависит от вас.
Редакция ДAIЧАТ ·
Проблема, которую решает RAG
Языковая модель хорошо пишет тексты и понимает вопросы, но ничего не знает о вашей компании: сколько стоит монтаж, работаете ли вы в Одинцово, есть ли рассрочка. Если просто спросить её об этом, она либо откажется, либо — что хуже — уверенно придумает правдоподобный ответ.
Есть два способа дать модели ваши знания. Первый — дообучить её на ваших текстах. Это дорого, долго, а главное — модель всё равно будет иногда путать факты, и при каждом изменении прайса всё придётся повторять. Второй способ — RAG: не менять модель, а перед каждым ответом подкладывать ей нужные документы. Именно так работает большинство AI-чатов для сайта, включая ДAIЧАТ.
Как это работает: три шага
Аббревиатура RAG — retrieval-augmented generation, «генерация, дополненная поиском». В названии весь механизм.
1. Подготовка: документы режутся на фрагменты
Когда вы загружаете прайс-лист, описание услуг или страницу сайта, система не хранит документ целиком одной простынёй. Она делит его на фрагменты по несколько абзацев — так, чтобы каждый фрагмент был осмысленным сам по себе: один раздел прайса, один ответ из FAQ, одно условие доставки.
Для каждого фрагмента вычисляется числовое представление смысла — вектор. Два фрагмента о доставке окажутся «рядом» в этом пространстве, фрагмент о доставке и фрагмент о гарантии — далеко. Это позволяет искать по смыслу, а не по точному совпадению слов: вопрос «привезёте в область?» найдёт фрагмент «Доставка за пределы КАД».
2. Поиск: на вопрос находятся нужные фрагменты
Посетитель пишет вопрос. Система превращает его в такой же вектор и ищет ближайшие фрагменты — обычно несколько самых подходящих. Хорошие системы совмещают поиск по смыслу с поиском по словам, чтобы не терять точные названия моделей и артикулы.
3. Ответ: модель пишет по найденному
Найденные фрагменты отдаются модели вместе с вопросом и инструкцией: «Отвечай только по этим материалам. Если ответа в них нет — скажи об этом». Модель формулирует ответ человеческим языком, опираясь на текст фрагментов. Посетитель видит ответ; поиск и фрагменты остаются за кадром.
Почему это надёжнее, чем «модель всё знает»
Факты берутся из ваших документов, а не из памяти модели. Цена в ответе — это цена из прайса, который вы загрузили.
Обновление — это загрузка нового файла. Изменился прайс — заменили документ, через несколько минут чат отвечает по новому.
Видно, чего не хватает. Если на вопрос не нашлось подходящих фрагментов, система это знает и может честно ответить «такой информации у меня нет». В ДAIЧАТ такие вопросы собираются в «Пробелах в знаниях», чтобы вы дописали ответ.
Знания одной компании не смешиваются с другой. Каждый проект ищет только по своим документам.
Что зависит от вас
RAG хорош настолько, насколько хороши документы. Несколько правил, которые заметно улучшают ответы.
Пишите так, как спрашивают клиенты. Раздел «Логистические условия» найдётся хуже, чем «Доставка: сроки и стоимость». Лучший источник — реальные вопросы из почты и телефона.
Один вопрос — один фрагмент. Если условия рассрочки размазаны по трём документам, модель может собрать из них противоречивый ответ. Соберите их в одном месте.
Убирайте устаревшее. Старый прайс рядом с новым — верный способ получить две разные цены в двух разговорах.
Не заставляйте модель считать. Если стоимость зависит от площади, дайте таблицу с готовыми значениями или явную формулу, а не «рассчитывается индивидуально».
Таблицы — в виде таблиц. Excel и CSV с понятными заголовками столбцов индексируются лучше, чем скриншот прайса или текст с табуляцией.
Подробнее о том, какие форматы поддерживает база знаний и как отслеживать обработку документов, — на странице «Возможности».
RAG и каталог товаров: почему это разные вещи
Для интернет-магазина фрагментов текста мало: посетитель просит «кроссовки для бега до 8 000, 42 размер, в наличии», и здесь нужен не поиск по смыслу, а фильтр по цене, размеру и наличию. Поэтому каталог товаров загружается отдельно, структурированно — из YML, CSV или Excel, — и модель обращается к нему как к базе данных: сначала отбирает подходящие товары, потом показывает карточки. Как это выглядит для покупателя — на странице «AI-чат для интернет-магазина».
Что уходит поставщику модели
Вопрос, который стоит задать любому сервису. В RAG модели передаются вопрос посетителя, история разговора, найденные фрагменты и инструкция. Ответственный сервис перед отправкой скрывает телефоны и адреса почты, а документы хранит у себя. Как это устроено в ДAIЧАТ — на странице «Безопасность».
Вопросы
RAG — это дообучение модели?
Нет. При дообучении меняется сама модель. RAG оставляет модель как есть и перед каждым ответом подкладывает ей нужные фрагменты ваших документов. Поэтому обновить знания — значит просто загрузить новый файл.
Модель читает все мои документы при каждом вопросе?
Нет, только несколько самых подходящих фрагментов. Документы заранее режутся на фрагменты и индексируются; на вопрос находятся ближайшие по смыслу.
Почему чат иногда отвечает «у меня нет такой информации»?
Потому что на вопрос не нашлось подходящих фрагментов. Это правильное поведение: лучше честный отказ, чем выдуманная цена. Добавьте ответ в базу знаний — и на следующий такой вопрос чат ответит.
В каком виде лучше загружать прайс?
Таблицей — Excel или CSV с понятными заголовками столбцов. Скриншоты и PDF-сканы без текстового слоя индексируются хуже.
Проверьте RAG на своих документах
Загрузите прайс и условия, задайте вопросы в тестовом чате и посмотрите, по каким фрагментам он отвечает. Пробный период бесплатно.