Базы знаний и RAG
База знаний — это набор документов, разрезанных на фрагменты. Каждый фрагмент превращён в вектор моделью эмбеддингов, поэтому поиск идёт по смыслу, а не по совпадению слов. Воркфлоу достаёт из базы несколько подходящих фрагментов и передаёт их модели как контекст — это и есть RAG.
Как документ попадает в базу
База знаний
Документы
фрагмент 500 / перекрытие 50
| Название | Статус | Фрагменты |
|---|---|---|
| policy.pdf | Готово | 42 |
| faq.md | Обработка | — |
| https://example.com/pricing | Готово | 11 |
- В разделе База знаний нажмите Новая. Задайте название, описание, модель эмбеддингов, размер фрагмента (по умолчанию 500) и перекрытие фрагментов (по умолчанию 50).
- Нажмите Добавить документ и либо загрузите файл (PDF, DOCX, TXT, MD), либо укажите URL веб-страницы.
- Там же добавьте метаданные — пары ключ/значение, по которым потом можно жёстко фильтровать поиск.
- Дождитесь статуса Готово. Документ проходит путь Ожидание → Обработка → Готово; при неудаче остаётся Ошибка с текстом причины.
Что происходит при поиске
Текст запроса превращается в вектор той же моделью, и хранилище возвращает ближайшие фрагменты. Поведение задают четыре параметра:
- top_k — сколько фрагментов вернуть, от 1 до 20 (по умолчанию 5).
- score_threshold — минимальная близость, от 0 до 1. Ноль означает «ничего не отсекать».
- context_window — сколько соседних фрагментов документа приклеить к каждому найденному (0 отключает, максимум 10). Соседи склеиваются в один текст, поэтому модель видит абзац целиком, а не обрывок.
- Фильтры по метаданным — жёсткое условие поверх поиска.
Фильтр состоит из ключа, оператора, значения и типа значения (string, number, date).
Операторы: =, !=, <, >, <=, >=. Несколько условий объединяются по И, поэтому
каждый следующий фильтр только сужает выдачу. Фрагмент без такого ключа проходит
только условие !=. Значения фильтров и метаданных рендерятся как шаблоны, так что
{{ variables.session_id }} в значении даёт скоуп на конкретную сессию.
Ноды
- Исполнение + данные
- Данные
- LLM
- rag_kb — конфигурация базы. Сама ничего не ищет: её значения
(
kb_id,top_k,score_threshold,context_window) приходят потребителю через порт KB и выигрывают у его собственных полей. Фильтры метаданных — исключение: они не заменяют фильтры потребителя, а объединяются с ними по И. - rag_query — детерминированный шаг поиска. Принимает текст
запроса на порт Query, отдаёт контекст в формате
text(фрагменты через---) илиjson(массив с метаданными и оценками). - rag_tool — тот же поиск, но как инструмент агента: подключается к ai_agent и вызывается моделью, когда она сочтёт нужным.
- kb_write — запись в базу прямо из воркфлоу: текст режется на фрагменты, эмбеддится и уходит в хранилище. По умолчанию создаётся документ, видимый в разделе База знаний.
- rerank — переранжирование найденного cross-encoder-моделью и срез
до
top_n. Ставится после rag_query или rrf_fusion; модель берётся из поля или из подключённой ноды rerank_config.
Реранкер стоит включать, когда векторный поиск приносит в целом релевантные, но плохо упорядоченные фрагменты: он сравнивает запрос с каждым кандидатом отдельно, поэтому точнее — и дороже — обычного поиска.
Сколько это стоит
Эмбеддинги считаются и при записи документа, и при каждом поиске: запрос тоже нужно превратить в вектор. Реранк тарифицируется по своей ставке, более высокой. Модели, подключённые по вашему собственному ключу, по токенам не биллятся вовсе — подробности в разделе Кредиты и стоимость запуска.
Объём базы ограничен тарифом: число баз знаний, байты документов и количество векторных точек — см. Лимиты тарифов.