AGONTS

База знаний

RAG простыми словами: коллекции, документы, embedding, чанкинг, поиск.

Вы загружаете документы (PDF, Word, таблицы). Агент читает их перед каждым ответом и цитирует нужные куски. Бот отвечает по вашим документам, а не выдумывает. Это второй по важности компонент платформы после агента.

Зачем это нужно

LLM знает общий мир: Википедию, новости, программирование, историю. Но не знает вашу компанию — ваши тарифы, регламенты, FAQ, прайс-лист 2026 года, условия договоров, внутренние процедуры.

Если просто спросить — агент начнёт выдумывать правдоподобно, и клиент поверит. Это называется «галлюцинации LLM» и это самая большая проблема чат-ботов без RAG.

Сравнение — бот без базы знаний vs с ней

Клиент: Сколько стоит установка холодильника? Агент: Обычно установка стоит около 5 000 рублей.

(Бот взял цифру с потолка. У вас на самом деле — от 3 200 до 7 500 в зависимости от типа. Клиент записался, приехал мастер — выяснилось, что надо 7 500, скандал.)

Клиент: Сколько стоит установка холодильника? Агент: (платформа находит в «Прайс-лист 2026.pdf») Установка холодильника зависит от типа:

  • Простая установка (без подключения к электросети) — 3 200 ₽.
  • С подключением к розетке — 5 800 ₽.
  • Расширенная (с тестированием и инструктажем) — 7 500 ₽. Какая вам подойдёт?

(Точный ответ по вашему актуальному прайсу. Клиент заранее знает, что его ждёт.)

Что ещё даёт база знаний

Консистентность ответов

Один и тот же вопрос разным клиентам получает одинаковый ответ. Нет «повезло с оператором».

Актуальность

Изменили прайс? Заменили один PDF в базе — все боты сразу обновились. Без пересборки, без редактирования промптов.

Снижение галлюцинаций

В промпт можно добавить: «отвечай строго по найденным материалам, не выдумывай». Точность растёт с 70% до 95%+.

Compliance

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

Масштабирование знаний

Загрузили 1000 документов — агент находит нужный абзац за миллисекунды. Живой оператор не помнит всё.

Multi-language

Agent отвечает на языке клиента, используя документы, загруженные на любом языке. Кросс-языковой поиск работает.


Как это работает (RAG)

RAG (Retrieval-Augmented Generation) — «генерация с опорой на найденное». Академическое название технологии.

Три шага

Индексация (один раз, при загрузке)

  • Вы загружаете документ (PDF, Word, Excel).
  • Платформа разбивает его на чанки — куски по 500-1500 символов.
  • Каждый чанк превращается в вектор (embedding) — список из ~1500 чисел, представляющих смысл.
  • Вектора сохраняются в Qdrant — специализированную векторную БД.

Это одноразовая операция. Документ загрузили → через 10-30 секунд он готов к поиску.

Поиск (при каждом запросе клиента)

  • Клиент задал вопрос.
  • Платформа превращает вопрос в вектор той же embedding-моделью.
  • Qdrant находит top-N ближайших векторов (обычно N=5) среди всех загруженных чанков.
  • Это кусочки документов, смысл которых ближе всего к вопросу.

Занимает 50-200 миллисекунд.

Генерация (ответ)

  • Найденные кусочки добавляются в системный промпт: «Вот релевантные материалы: [ваш чанк 1], [ваш чанк 2], …».
  • LLM генерирует ответ, опираясь на эти материалы.
  • Клиент получает точный ответ по вашей фактуре.

Визуализация

Шаг 1 — Индексация (офлайн):

[Документы] → [Чанкер] → [Embedding-модель] → [Qdrant]
               ↓             ↓
          куски 1000        векторы
          символов          [0.12, -0.34, 0.91, ...]


Шаг 2 — Поиск (при запросе клиента):

[Вопрос клиента] → [Embedding-модель] → [Qdrant: найди ближайшие]

                                          [5 релевантных чанков]

                                          [добавлены в промпт LLM]

                                          [Ответ клиенту]

Embedding — математическая функция, превращающая текст в список чисел. Два текста с похожим смыслом превращаются в близкие вектора. Это как «координаты смысла» на многомерной карте. Именно это позволяет искать «по смыслу», а не по точному совпадению слов.


Коллекции

Коллекция — папка документов с общей темой. Основная единица организации знаний в платформе.

Зачем делить на коллекции

Плохо: одна гигантская коллекция со всеми документами компании подряд.

Почему:

  • Агент поддержки получает в контекст кусочки из юр-документов → путается.
  • Агент продаж видит регламенты HR → ответы странные.
  • Невозможно дать разным агентам разный доступ.

Хорошо: коллекции по темам, каждому агенту — только нужное.

Типичное разделение

  • product-docs — инструкции по продуктам, описания услуг.
  • pricing — прайс-листы, тарифные планы.
  • faq — часто задаваемые вопросы клиентов.
  • internal-policies — внутренние регламенты (не показываем клиенту, но используем как контекст).
  • legal — юр. документы (договоры, оферты).
  • hr — кадровые документы (для HR-бота).

Привязка к агенту

В настройках агента отмечаете галочками доступные коллекции:

  • Агент поддержки — видит faq + product-docs.
  • Юр-бот — только legal.
  • HR-бот для соискателей — только hr.
  • Менеджер по продажамpricing + product-docs.

Агент ищет только в привязанных коллекциях. Это даёт:

  • Точность. Не находит «лишнее».
  • Безопасность. HR-бот не увидит тайн продаж.
  • Скорость. Поиск в 1 коллекции быстрее поиска по всей базе.

Форматы документов

Платформа принимает и обрабатывает:

  • PDF — включая сканы. Для отсканированных файлов применяется OCR (оптическое распознавание текста). Качество OCR зависит от разрешения скана и языка.
  • Word (.docx) — с форматированием, таблицами, списками.
  • Excel / CSV — каждая строка становится чанком. Полезно для каталогов, таблиц цен.
  • Markdown / TXT — plain text с минимальной разметкой.
  • HTML — очищается от тегов, извлекается текст.
  • PowerPoint (.pptx) — текст из слайдов, заголовки, заметки.
  • Изображения (PNG, JPG) — через OCR, если на картинке есть текст.

Лимит на файл: 50 МБ на Free-плане, 200 МБ на Pro, без лимита на Enterprise.

Что лучше работает

  • Markdown и чистый текст — идеальная ситуация, RAG работает максимально точно.
  • Word с текстом — отлично.
  • PDF с текстовым слоем — хорошо.
  • Отсканированный PDF с OCR — средне, зависит от качества скана.
  • Презентации — обычно плохо: мало текста, много картинок и графики. Лучше экспортировать в PDF после заполнения.
  • Таблицы с большой плотностью данных (прайс-листы в Excel) — подход «строка = чанк» работает, но для сложных таблиц лучше преобразовать в текст.

Как подготовить документы правильно

  1. Структурируйте — заголовки разделов, подзаголовки. RAG лучше режет структурированные тексты.
  2. Убирайте воду — «Уважаемый клиент, рады вас приветствовать в нашей компании…» — на поиск не влияет, а контекст съедает.
  3. Обновляйте регулярно — при изменении цен / условий / регламентов сразу заменяйте документ в базе.
  4. Называйте по-человеческиПрайс-лист_апрель_2026.pdf лучше чем doc_v3_final_FINAL.pdf.

Добавление документов

Раздел «Знание» в основном меню

В сайдбаре слева → Знание.

Создайте новую коллекцию

Нажмите «Новая коллекция». Заполните:

  • Имя — человеческое («Прайс-листы», «FAQ по продуктам»).
  • Описание — одна строка для коллег.
  • Embedding-модель — обычно уже выбрана по умолчанию для воркспейса.

Загрузите файлы

Перетащите файлы в область загрузки. Можно сразу много.

Индексация идёт в фоне

Для каждого файла создаётся задача в очереди BullMQ (воркер knowledge-index). Обычно 1 файл = 10-30 секунд. Большой PDF (100+ страниц) = 1-3 минуты.

Вы видите статусы по каждому документу:

  • queued — в очереди, ждёт воркера.
  • indexing — обрабатывается.
  • indexed ✅ — готов, участвует в поиске.
  • failed ❌ — ошибка (обычно битый PDF, превышен размер).

Можно закрыть страницу

Индексация идёт независимо. Вернётесь позже — всё будет готово.

Привяжите коллекцию к агенту

В настройках агента → Коллекции знаний → отметьте галочкой.

С этого момента агент будет искать в ней при каждом разговоре.


Чанкинг — как документы режутся

Документ нельзя проиндексировать целиком — LLM не впихнёт 100-страничный PDF в своё контекстное окно. Документ режут на чанки — куски по 500-1500 символов.

Настройки чанкинга

В настройках коллекции:

  • Размер чанка (chunkSize) — максимум символов на кусок. По умолчанию 1000. Для очень структурированных документов — 500, для длинных связных текстов — 1500.
  • Перекрытие (overlap) — сколько символов соседние чанки перекрывают друг друга. По умолчанию 150. Это нужно, чтобы важная фраза не попала «на стык» и не потерялась.
  • Стратегия резки:
    • semantic — режет по логическим границам (параграф, секция, заголовок). Лучший вариант для большинства документов.
    • fixed — режет каждые N символов без оглядки на смысл. Подходит для однородных данных (логи, таблицы без структуры).

Когда менять настройки

Оставьте дефолты. Работает для 90% случаев. Настройки меняйте только если на реальных вопросах поиск даёт плохие результаты.

Стоит увеличить chunkSize, если:

  • Документы — длинные связные тексты (инструкции, регламенты).
  • Поиск находит обрывки мысли, где нужен полный контекст.

Стоит уменьшить chunkSize, если:

  • Документы — таблицы или справочники (каждая запись уже целостна).
  • Контекст LLM забивается слишком большими чанками.

Перекрытие больше (200-300), если:

  • Важные фразы часто попадают «на стык» чанков.

Перекрытие меньше (50-100), если:

  • Экономите на размере базы (Qdrant хранит перекрытия дважды).

Embedding-модель

За превращение текста в вектор отвечает embedding-модель. Это отдельная модель от основного LLM — она только считает векторы, не генерирует текст.

Выбор для русского языка

Оптимум: bge-m3 (self-hosted). Бесплатная, качество для русского — отличное, мультиязычная.

Альтернативы:

  • text-embedding-3-small (OpenAI) — дёшево, быстро, но для русского чуть хуже bge-m3.
  • text-embedding-3-large (OpenAI) — точнее, но в 6× дороже. Оправдано только при огромной базе документов.
  • nomic-embed-text (self-hosted) — универсальный, удобно в Ollama.

Выбор для английского

Оптимум: text-embedding-3-small — дёшево, хорошо. Для максимальной точности: text-embedding-3-large.

Выбор для специфичных доменов

  • МедицинаBioBERT, PubMedBERT (self-hosted).
  • ЮриспруденцияLegalBERT.
  • ФинансыFinBERT.

Для нишевых доменов специализированные embedding дают +20-30% точности поиска.

Настройка

В Настройки → Модели → Провайдер эмбеддингов — выбираете модель. Применяется для всех новых коллекций.

Поменяли embedding-модель → надо переиндексировать всю базу. Векторы разных моделей несовместимы — точки одной модели не находят совпадений с точками другой. Платформа предупредит, но процесс долгий: от 10 минут на маленькой базе до нескольких часов на большой.


Как агент использует знание

Пошагово, что происходит при каждом разговоре с клиентом:

Клиент задаёт вопрос

«Сколько стоит установка холодильника с подключением?»

Платформа берёт вопрос

Он идёт в embedding-модель → получается вектор.

Qdrant ищет ближайшие чанки

Среди всех коллекций, привязанных к агенту. По умолчанию возвращает top-5 ближайших. Каждый чанк имеет score (близость, от 0 до 1).

Фильтр по порогу близости

Если score < 0.3 — кусок не релевантен, отбрасывается. Лучше не дать агенту неточное знание, чем дать неправильное.

Найденное добавляется в промпт

К системному промпту агента добавляется блок:

Вот материалы из базы знаний, которые могут помочь:

[Прайс-лист 2026.pdf, стр. 3]: "Установка холодильника:
простая — 3 200 ₽, с подключением к электросети — 5 800 ₽,
расширенная — 7 500 ₽..."

[Регламент установки.docx]: "Мастер должен проверить наличие
заземления перед подключением..."

Используй эту информацию в ответе.

LLM генерирует ответ

Опираясь на эти материалы. Клиент получает точный ответ по вашей фактуре.

Агент не цитирует документы буквально — он их переформулирует. Чтобы заставить цитировать точно, в промпте добавьте: «Отвечай цитатами из базы знаний, не перефразируй. Если точного ответа в базе нет — так и скажи: "уточню у коллеги"».

Тонкие настройки поиска

В настройках агента можно изменить:

  • Количество чанков для поиска (top-K) — по умолчанию 5. Увеличьте до 10-15, если у вас большая база и часто не хватает контекста.
  • Порог близости (similarity threshold) — по умолчанию 0.3. Поднимите до 0.5 если видите «мусорные» совпадения. Опустите до 0.2 если ничего не находит.

Поиск вручную — для отладки

Главный инструмент для отладки RAG.

Знание → Коллекция → вкладка «Поиск». Вводите запрос, видите:

  • Найденные чанки — в порядке релевантности.
  • Score — насколько близко (от 0 до 1, больше — лучше).
  • Документ и страница — откуда взят чанк.

Алгоритм отладки «бот отвечает неправильно»

Шаг 1: повторите вопрос в поиске вручную

Найдёт ли платформа правильный чанк на ваш реальный вопрос клиента?

Шаг 2: если НЕ находит правильное

Проблема в индексации или поиске.

Варианты:

  • Документ не загружен в эту коллекцию.
  • Документ есть, но статус failed (ошибка индексации).
  • Документ indexed, но embedding слабый для вашего языка/домена.
  • В документе не тот текст — OCR плохо отработал на скане.

Фиксы:

  • Проверьте наличие и статус документа.
  • Попробуйте лучшую embedding-модель (bge-m3 для русского).
  • Для сканов — улучшите качество скана или перепечатайте.

Шаг 3: если находит правильное, но агент всё равно отвечает неправильно

Проблема в промпте агента.

  • Агент не использует найденное. В системный промпт: «ВСЕГДА используй материалы из базы знаний в ответе. Не игнорируй их.»
  • Агент выдумывает поверх найденного. В промпт: «Если материал найден, цитируй его дословно или перефразируй близко. Не добавляй фактов, которых нет в материалах.»
  • Агент «перемешивает» материалы из разных мест. Уменьшите top-K с 5 до 3.

Шаг 4: измеряйте точность на реальных кейсах

Соберите 20-30 реальных вопросов клиентов + правильные ответы. Прогоните каждый через бота → посчитайте долю правильных. Это ваша baseline accuracy. Улучшения сверяйте с ней.


Паттерны работы с знанием

Паттерн «живой прайс»

Задача: цены меняются еженедельно, не хочется ручками обновлять Excel.

Решение:

  1. В CRM / ERP экспортируйте прайс в CSV автоматически (cron).
  2. В платформе — автоматический automation-flow по расписанию: «раз в день скачай CSV → заменяй в коллекции pricing → переиндексируй».

Результат: цены всегда актуальные, ручной работы — 0.

Паттерн «версионированный регламент»

Задача: юр. документы меняются, нужна история версий.

Решение:

  1. Коллекция legal-current — только актуальные документы.
  2. Коллекция legal-archive — старые версии с датами.
  3. Юр-бот смотрит только в legal-current.

При смене документа: старый переезжает в archive, новый кладётся в current. История сохраняется, бот всегда отвечает по актуальному.

Паттерн «многоязычная база»

Задача: клиенты пишут на русском, английском, казахском — нужны ответы на их языке.

Решение:

  1. Одна коллекция с документами на любом языке — embedding bge-m3 умеет в кросс-языковой поиск.
  2. В промпт агента: «Отвечай на том же языке, на каком задан вопрос».

Агент находит релевантный материал на английском, клиент получает ответ на русском — всё автоматически.

Паттерн «FAQ + инструкции разного уровня»

Задача: одни вопросы требуют короткого ответа, другие — детального разбора.

Решение:

  1. Две коллекции: faq-short (короткие ответы) и product-docs (длинные инструкции).
  2. В промпт: «Сначала ищи в FAQ — если есть точный ответ, цитируй его коротко. Если FAQ не покрывает — ищи в product-docs и давай развёрнутый ответ.»

Квоты

ПланМакс. документовМакс. объёмМакс. векторов
Free10050 МБ10 000
Pro10 0005 ГБ1 000 000
Enterpriseбез лимитапо договорупо договору

Что такое «векторы»: количество чанков × количество векторов на чанк. Один документ на 100 страниц = ~500 чанков = 500 векторов. На Pro хватает на ~2000 больших PDF.


Частые ошибки


Метрики здоровья базы знаний

Критичные для мониторинга:

МетрикаЗдоровоеТревога
Доля вопросов с релевантными чанками80-95%<60% — расширяйте базу
Средний score найденных чанков0.5-0.8<0.3 — embedding слабый
Доля галлюцинаций (ответ не соответствует базе)<5%>15% — жёстче промпт
Время поиска<200ms>500ms — огромная база, пересмотрите архитектуру
Документов с ошибкой индексации0%>5% — проверьте форматы / OCR

On this page

Зачем это нужноСравнение — бот без базы знаний vs с нейЧто ещё даёт база знанийКак это работает (RAG)Три шагаИндексация (один раз, при загрузке)Поиск (при каждом запросе клиента)Генерация (ответ)ВизуализацияКоллекцииЗачем делить на коллекцииТипичное разделениеПривязка к агентуФорматы документовЧто лучше работаетКак подготовить документы правильноДобавление документовРаздел «Знание» в основном менюСоздайте новую коллекциюЗагрузите файлыИндексация идёт в фонеМожно закрыть страницуПривяжите коллекцию к агентуЧанкинг — как документы режутсяНастройки чанкингаКогда менять настройкиEmbedding-модельВыбор для русского языкаВыбор для английскогоВыбор для специфичных доменовНастройкаКак агент использует знаниеКлиент задаёт вопросПлатформа берёт вопросQdrant ищет ближайшие чанкиФильтр по порогу близостиНайденное добавляется в промптLLM генерирует ответТонкие настройки поискаПоиск вручную — для отладкиАлгоритм отладки «бот отвечает неправильно»Шаг 1: повторите вопрос в поиске вручнуюШаг 2: если НЕ находит правильноеШаг 3: если находит правильное, но агент всё равно отвечает неправильноШаг 4: измеряйте точность на реальных кейсахПаттерны работы с знаниемПаттерн «живой прайс»Паттерн «версионированный регламент»Паттерн «многоязычная база»Паттерн «FAQ + инструкции разного уровня»КвотыЧастые ошибкиМетрики здоровья базы знаний