Вебформат

Главная/Блог/ИИ и чат-боты

ИИ и чат-боты12 мая 20268 мин

Почему RAG-агент не выдумывает, а корпоративный ChatGPT иногда да

Когда клиент спрашивает "А ваш бот точно отвечает по нашим документам?" - это не про модель. Это про архитектуру. Разбираем, как устроен RAG, чем он отличается от обычного запроса в LLM и почему мы строим всё на нём.

Поделиться
Retrieval-Augmented Generation · базовая архитектура наших ИИ-решений

Если кратко: ChatGPT - это эрудированный собеседник, который иногда сочиняет. RAG-агент - это юрист с открытым томом регламентов, который без ссылки на источник просто не отвечает.

Что такое галлюцинация в LLM

Большие языковые модели обучены предсказывать следующее слово в тексте. Если они "знают" ответ - выдают его. Если не знают, но статистически похожий ответ есть в данных обучения - могут выдать правдоподобный, но неверный ответ.

Это и есть галлюцинация. Не баг - особенность архитектуры. Модель не различает "я знаю это точно" и "я могу это сгенерировать". Для художественной задачи это допустимо. Для ответа клиенту корпоративного банка про условия по продукту - катастрофа.

Как работает RAG

RAG (Retrieval-Augmented Generation) - это архитектура, в которой LLM не отвечает напрямую. Сначала система ищет релевантные фрагменты в документах клиента, потом передаёт их модели вместе с вопросом, и модель отвечает строго по предоставленному контексту.

Схема работы RAG-агента: вопрос → векторный поиск → LLM с контекстом → ответ со ссылкой

Шаг 1. Индексация документов

Все документы клиента (регламенты, прайсы, инструкции, FAQ, договоры) разбиваются на фрагменты по 200-500 слов. Каждый фрагмент превращается в эмбеддинг - числовой вектор, описывающий смысл текста. Векторы хранятся в специализированной базе (pgvector, Qdrant - мы используем оба).

Шаг 2. Поиск по вопросу

Когда клиент задаёт вопрос, его текст тоже превращается в эмбеддинг. Система ищет в базе фрагменты с максимально близким смыслом - не по словам, а по векторному расстоянию. Это значит, что "комиссия за досрочное" найдёт фрагмент с "плата при погашении до срока" даже без буквального совпадения.

Шаг 3. Генерация ответа со ссылкой

Найденные 5-10 фрагментов передаются в LLM с инструкцией: "Ответь на вопрос, используя только этот контекст. Если ответа нет - так и скажи. Каждый факт сопроводи ссылкой на источник."

У нас в RAG-агенте отдельный валидатор: если в ответе появилась цифра или название продукта, которых нет в найденном контексте - ответ блокируется и возвращается "Не нашёл точного ответа, передаю менеджеру".

- из внутренней документации LLM Агента

Чем RAG отличается от ChatGPT с загруженными файлами

Клиенты спрашивают об этом часто. ChatGPT и Claude умеют принимать файлы и отвечать по ним. На небольших задачах разница незаметна. На корпоративных - решает.

Было

Все документы передаются в каждый запрос целиком. Дорого, медленно. Лимит контекста ограничивает объём - больше 200-500 страниц уже не помещается.

Стало

В запрос передаются только релевантные фрагменты. Дёшево, быстро. Можно индексировать тысячи документов и десятки тысяч страниц.

Было

Нет контроля источников. Модель смешивает свои знания с файлами клиента.

Стало

Жёстко ограничен ответ только базой клиента. Системный промпт это контролирует, валидатор проверяет.

Было

Файлы хранятся на серверах OpenAI/Anthropic. Для корпоративных регламентов и договоров - серая зона.

Стало

Векторная база живёт в инфраструктуре клиента. Можно полностью локально, без внешних запросов.

Когда RAG не нужен

Чтобы не возникло ощущения, что RAG - серебряная пуля. Он не нужен:

  • Творческие задачи. Написание текстов, генерация идей, переводы - обычная LLM справится лучше, потому что её "знание мира" работает в плюс, а не в минус.
  • База очень маленькая. Если у клиента 5 PDF на 200 страниц суммарно - проще загрузить их в Claude/ChatGPT напрямую и не строить RAG-инфраструктуру.
  • База обновляется реже раза в год. Тогда модель можно дообучить (fine-tuning) - она "запомнит" документы. Дороже на старте, но без накладных расходов на поиск.

Что мы делаем у клиента

Стандартная архитектура RAG-агента под корпоративный сегмент, которую мы разворачиваем:

  • 01Анализ базы документов - смотрим, что есть в Confluence, на портале, в облачных дисках. Определяем, что индексировать.
  • 02Чанкинг и индексация - разбиваем документы на фрагменты, генерируем эмбеддинги, загружаем в pgvector или Qdrant.
  • 03Подбор модели - облако (GPT-4o, Claude) или локальная (Gemma, YandexGPT) в зависимости от чувствительности данных.
  • 04Интерфейсы - Telegram, чат на сайте, виджет в Битрикс24, REST API для внутренних сервисов.
  • 05Эскалация и журнал - диалоги логируются, неотвеченные вопросы попадают к менеджеру, аналитика по темам обращений.

Если у вас уже есть база знаний или техдокументация, и вы думаете "хочется как ChatGPT, но по нашему" - это про RAG. Напишите нам, разберёмся, что подойдёт под вашу задачу.

Хотите ИИ-ассистента, который отвечает по вашим документам?

Обсудим ваш проект - разберём вашу базу знаний и покажем, что можно собрать на RAG: сроки, архитектуру, варианты с локальной моделью под импортозамещение.