Настройки индексации
Индексация данных, загруженных в базу знаний, состоит из нескольких этапов:
- Обработка данных — преобразование текста в формат MD.
- Чанкинг — разбиение текста на фрагменты (чанки).
- Суммаризация (опционально) — создание кратких изложений для улучшения ответов на обобщающие вопросы.
- Векторизация — преобразование полученных чанков в векторные представления (эмбеддинги).
В разделе Настройки проекта → Индексация вы можете менять параметры для чанкинга, векторизации и суммаризации документов.
- Для просмотра настроек проекта необходима роль не ниже
KHUB_EDITOR. - Для редактирования настроек проекта необходима роль
KHUB_OWNERилиKHUB_ADMIN.
После изменения настроек индексации нужно будет заново проиндексировать базу знаний.
Векторизация
Параметр Модель векторизатора определяет языковую модель для векторизации текста. Эта модель будет применяться для векторизации как ваших данных, так и запросов от пользователей:
- text-embedding-3-large — модель от компании OpenAI. При ее использовании ваши данные будут отправляться на зарубежный сервер.
- intfloat/multilingual-e5-large — модель, размещенная на серверах компании Just AI, которые находятся в России.
Чанкинг
Способ разделения текста
Параметр Способ разделения текста определяет, каким образом текст будет разбит на чанки:
- По длине — текст будет разбит на части по длине, с учетом границ слов.
- С помощью LLM — текст будет разбит на части с помощью языковой модели. В этом случае чанки будут учитывать иерархическую структуру текста: заголовки, абзацы, названия разделов и документа.
Состав настроек зависит от выбранного способа разделения.
- По длине
- С помощью LLM
-
Максимальный размер чанка, в символах.
Как будет разбит текст
Допустим, в настройке указано значение 70. У вас есть текст из 2 предложений, каждое из которых по 100 символов.
При чанкинге текст будет разбит на 3 чанка:
- 70 символов первого предложения.
- Оставшиеся 30 символов первого предложения и 40 второго.
- Оставшиеся 60 символов второго предложения.
-
Язык — язык документов-источников. Настройка помогает разбить текст на чанки корректно. Если ваши источники на нескольких языках, выберите язык, на котором будут чаще всего отправлять запросы базе знаний.
- Средний размер чанка, в токенах — если текстовая единица меньше указанного значения, то она не будет разбиваться на более мелкие смысловые части, например документ на главы или главы на подглавы.
- Специальный чанкинг для больших таблиц — если включен, большие таблицы, которые модель не может обработать самостоятельно, будут разбиты на части. В каждом чанке будет включена строка с заголовками столбцов. Это позволяет модели лучше понять структуру данных и сгенерировать более точный ответ.
Подготовка данных с помощью LLM
Включение опций может привести к значительному увеличению расходов.
- Обогащать чанки — добавлять к чанку дополнительную информацию для улучшения качества поиска: заголовок, краткое содержание, ключевые слова и вопросы, на которые отвечает чанк.
- Генерировать описания изображений — добавлять чанки с описанием изображений для поиска по ним. Подробнее в разделе Изображения в ответе.
Суммаризация документов
Эта функция позволяет строить иерархию суммаризаций (кратких изложений) по содержимому документов. Она улучшает качество ответов на обобщающие и сравнительные вопросы, например: «О чем этот документ?», «Какова основная стратегия?», «Сравни подходы A и B».
Суммаризация наиболее полезна для длинных документов (более 10 страниц). Для коротких документов, FAQ или справочников эффект будет минимальным.
Включение суммаризации увеличивает время и стоимость индексации. В режиме По отдельным документам при 100 чанках: +20% вызовов LLM, +30% токенов, +50–100% времени индексации, +20% размера индекса. В режиме По всей базе знаний нагрузка выше.
Режим
Определяет, какие суммаризации будут построены:
-
По отдельным документам — подходит для большинства случаев. Суммаризации строятся внутри каждого документа. При обновлении или удалении документа его суммаризации автоматически пересоздаются или удаляются.
-
По всей базе знаний — позволяет отвечать на вопросы, затрагивающие несколько документов: «Какие общие темы в проекте?», «Как связаны документы X и Y?».
предупреждениеПри изменении любого документа кросс-документные суммаризации перестраиваются полностью. Не рекомендуется для баз знаний с частыми обновлениями или большим количеством документов.
Модель для суммаризации
Для суммаризации рекомендуется выбирать ту же модель, что и для обогащения чанков, или более мощную. Более мощные модели дают более качественные суммаризации, но увеличивают стоимость индексации. Качество суммаризаций верхних уровней напрямую влияет на качество ответов на обобщающие вопросы.
Доступ к суммаризациям
Настройка доступна только при выбранном режиме По всей базе знаний.
Кросс-документные суммаризации объединяют информацию из нескольких документов, которые могут иметь разные группы доступа. Эта настройка определяет, кто может видеть такие суммаризации:
- Расширенный — суммаризация доступна, если пользователь имеет доступ хотя бы к одному из исходных документов.
- Строгий — суммаризация доступна только при наличии доступа ко всем исходным документам. Публичные документы в проверку доступа не включаются.
Промт для суммаризации
В промте можно указать дополнительные требования к содержанию суммаризаций.
Для просмотра и редактирования промта необходима роль KHUB_ADMIN.
Дополнительные параметры
- Максимальная глубина дерева — сколько уровней суммаризации строить. Значение 3 подходит для большинства случаев. Увеличьте для очень длинных документов (более 100 страниц), где нужны суммаризации высокого уровня обобщения.
- Минимальное количество чанков для запуска — документы с меньшим количеством чанков не будут суммаризироваться. Для коротких документов суммаризация не дает значимого эффекта.
- Максимальное количество токенов в одной суммаризации — ограничивает длину каждой суммаризации, которую генерирует модель. Увеличьте для длинных документов, чтобы получить более полные суммаризации.
Настройки LLM
Настройки LLM применяются:
- Для формирования чанков, если выбран способ разделения текста с помощью LLM.
- Для обогащения чанков, вне зависимости от выбранного способа разделения.
Эти настройки не применяются:
- Для генерации описаний изображений. В облачной версии Jay Knowledge Hub используется модель GPT-4o mini, а в случае установки Jay Knowledge Hub в инфраструктуре вашей компании — модель, указанная в конфигурации.
- Для суммаризации документов. Используется отдельная модель, которую вы выбираете в секции Суммаризация документов.
Состав настроек:
- Модель — выберите одну из доступных языковых моделей.
- Максимальное количество токенов в запросе — ограничивает количество токенов, которое может быть отправлено в LLM.
- Максимальное количество токенов в ответе — ограничивает количество токенов, которое может быть сгенерировано LLM за одну итерацию.
- Температура — регулирует креативность ответов. При более высоких значениях результаты будут более творческими и менее предсказуемыми.
Чтобы посмотреть, на какие части разделен ваш источник, скачайте архив с чанками:
- Перейдите в раздел Источники и наведите курсор на нужный источник.
- Нажмите → Архив чанков.
При тестировании базы знаний вы также сможете посмотреть, какие чанки были выбраны для подготовки ответа.