Создание приложения с интегрированной базой знаний

«Базу знаний» можно использовать как внешний источник информации, чтобы давать точные ответы на вопросы пользователей через LLM. Вы можете связать существующую базу знаний с любым типом приложения в Интеллос. На примере чат-ассистента процесс выглядит так:
  1. Перейдите в Знания — Создать базу знаний — Загрузить файл
  2. Перейдите в Студия — Создать приложение — Выберите Чат-бот
  3. Откройте Контекст, нажмите Добавить и выберите одну из созданных баз знаний
  4. Используйте Фильтрация метаданных, чтобы уточнить поиск по документам в базе знаний
  5. В Настройки контекста — Настройки извлечения настройте Настройки извлечения
  6. Включите Цитаты и атрибуции в Добавить функции
  7. В Отладка и предпросмотр введите вопросы пользователя, связанные с базой знаний, для отладки
  8. После отладки нажмите кнопку Опубликовать, чтобы получить ИИ-приложение на основе вашей собственной базы знаний!

Подключение знаний и настройка режима поиска

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

Настройки извлечения

Поисковый механизм сканирует все базы знаний, связанные с приложением, в поисках текстового содержимого, релевантного вопросу пользователя. Затем результаты объединяются. Ниже приведена техническая блок-схема режима многопутевого поиска (Multi-path Retrieval):
Этот метод одновременно опрашивает все базы знаний, подключённые в «Контекст», ищет релевантные текстовые чанки сразу в нескольких базах знаний, собирает всё содержимое, соответствующее вопросу пользователя, и в итоге применяет стратегию реранкинга, чтобы определить наиболее подходящее содержимое для ответа пользователю. Такой подход к поиску даёт более полные и точные результаты за счёт одновременного использования нескольких баз знаний.
Например, в приложении A есть три базы знаний: K1, K2 и K3. Когда пользователь отправляет вопрос, из этих баз знаний извлекается и объединяется несколько релевантных фрагментов содержимого. Чтобы гарантировать выбор наиболее уместного содержимого, применяется стратегия реранкинга: она находит содержимое, которое лучше всего соответствует запросу пользователя, повышая точность и надёжность результатов. В реальных сценариях «вопрос-ответ» источники содержимого и методы поиска у каждой базы знаний могут различаться. Чтобы управлять смешанным содержимым, возвращаемым при поиске, стратегия реранкинга выступает как механизм тонкой сортировки. Она следит за тем, чтобы кандидаты на ответ хорошо соответствовали вопросу пользователя, оптимизируя ранжирование результатов по нескольким базам знаний и выбирая наиболее подходящее содержимое, тем самым улучшая качество ответов и общий пользовательский опыт. С учётом затрат, связанных с использованием реранкинга, и потребностей бизнеса режим многопутевого поиска предлагает две настройки реранкинга: Взвешенная оценка Эта настройка использует внутренние механизмы оценки и не требует внешней реранк-модели, тем самым избегая каких-либо дополнительных затрат на обработку. Вы можете выбрать наиболее подходящую стратегию сопоставления содержимого, регулируя ползунки соотношения весов для семантики или ключевых слов.
  • Значение семантики, равное 1 Этот режим активирует только семантический поиск. За счёт использования эмбеддинг-модели глубину поиска можно повысить даже в том случае, если точные слова из запроса не встречаются в базе знаний, поскольку механизм вычисляет векторные расстояния, чтобы вернуть релевантное содержимое. Кроме того, при работе с многоязычным содержимым семантический поиск способен улавливать смыслы на разных языках, давая более точные результаты межъязыкового поиска.
  • Значение ключевых слов, равное 1 Этот режим активирует только поиск по ключевым словам. Он сопоставляет введённый пользователем текст с полным текстом базы знаний, что идеально подходит для сценариев, когда пользователь знает точную информацию или терминологию. Этот метод экономно расходует ресурсы, поэтому подходит для быстрого поиска информации в больших хранилищах документов.
  • Пользовательские веса для ключевых слов и семантики Помимо включения только семантического режима или только режима поиска по ключевым словам мы предлагаем гибкую пользовательскую настройку взвешенной оценки. Вы можете определить оптимальное соотношение весов для вашего бизнес-сценария, постоянно подстраивая веса обоих параметров.
Модель повторного ранжирования Реранк-модель — это внешняя система оценки, которая вычисляет оценку сходства между вопросом пользователя и каждым из предоставленных документов-кандидатов, улучшая результаты семантического ранжирования и возвращая список документов, отсортированный по оценке сходства от высокой к низкой. Хотя этот метод влечёт за собой некоторые дополнительные затраты, он лучше справляется со сложным содержимым баз знаний — например, с содержимым, сочетающим семантические запросы и совпадения по ключевым словам, или со случаями, когда возвращается многоязычное содержимое. В настоящее время Интеллос поддерживает несколько реранк-моделей. Чтобы использовать внешние реранк-модели, необходимо предоставить API Key. Введите API Key для реранк-модели (например, Cohere, Jina AI и т. п.) на странице «Поставщик модели».
В настоящее время Интеллос поддерживает несколько реранк-моделей
Настраиваемые параметры
  • TopK: определяет, сколько текстовых чанков, признанных наиболее похожими на запрос пользователя, будет извлечено. Также автоматически корректирует число чанков в зависимости от контекстного окна выбранной модели. Значение по умолчанию — 3; более высокие значения возвращают больше текстовых чанков.
  • Порог оценки: задаёт минимальную оценку сходства, необходимую для извлечения чанка. Извлекаются только чанки, превышающие эту оценку. Значение по умолчанию — 0.5. Более высокие пороги требуют большего сходства и потому приводят к извлечению меньшего числа чанков.

Фильтрация метаданных

Chatflow/Workflow

Узел Поиск знаний позволяет фильтровать документы по полям метаданных.

Шаги

  1. Выберите режим фильтрации:
    • Отключено (по умолчанию): фильтрация метаданных отключена.
    • Автоматический: фильтры настраиваются автоматически на основе переменных запроса в узле Поиск знаний.
    Примечание: режим «Автоматический» требует выбора модели для поиска документов.
    Выбор модели
    • Вручную: настройте фильтры вручную.
Ручная настройка
  1. Для режима «Вручную» выполните следующие шаги:
    1. Нажмите Условия, чтобы открыть панель настройки.
    Условия
    1. Нажмите +Добавить условие:
      • Выберите поля метаданных в нужной базе знаний из выпадающего списка.
      Примечание: при выборе нескольких баз знаний в списке отображаются только общие поля метаданных.
      • Используйте поле поиска, чтобы найти конкретные поля.
    Добавление условия
    1. Нажмите +Добавить условие, чтобы добавить дополнительные поля.
    Добавление дополнительных полей
    1. Настройте условия фильтрации:
    1. Добавьте значения фильтра:
    • Переменная: выберите из существующих переменных Chatflow/Workflow.
    Переменная
    • Константа: введите конкретные значения.
    Поля типа «дата» можно фильтровать только по константам. Выбор даты предназначен для полей типа «дата».
    Выбор даты
Значения фильтров чувствительны к регистру и требуют точного совпадения. Пример: фильтр starts with "App" или contains "App" совпадёт с “Apple”, но не с “apple” или “APPLE”.
  1. Задайте логические операторы:
    • AND: совпадение по всем условиям
    • OR: совпадение по любому условию
Логика
  1. Нажмите за пределами панели, чтобы сохранить настройки.

Чат-бот

Откройте Фильтрация метаданных под пунктом Знания (в левом нижнем углу). Шаги настройки те же, что и в Chatflow/Workflow.
Чат-бот

Просмотр связанных приложений в базе знаний

В левой части базы знаний вы можете увидеть все связанные приложения. Наведите указатель на круглый значок, чтобы просмотреть список всех связанных приложений. Нажмите кнопку перехода справа, чтобы быстро открыть их.

Часто задаваемые вопросы

  1. Как выбрать настройки реранкинга в режиме многопутевого извлечения (multi-recall)?
Если пользователи знают точную информацию или терминологию, можно использовать поиск по ключевым словам для точного совпадения. В этом случае установите «Ключевые слова» в 1 в разделе «Настройки веса». Если в базе знаний нет точных терминов или речь идёт о межъязыковом запросе, рекомендуем установить «Семантика» в 1 в разделе «Настройки веса». Если вы хорошо знакомы с реальными запросами пользователей и хотите скорректировать соотношение семантики и ключевых слов, его можно вручную настроить в разделе «Настройки веса». Если база знаний сложная и простых семантических совпадений или совпадений по ключевым словам недостаточно, а вам нужны максимально точные ответы и вы готовы платить больше, рассмотрите использование Модели повторного ранжирования для поиска содержимого.
  1. Что делать, если я столкнулся с проблемами при поиске по взвешенной оценке или с требованием настроить реранк-модель?
Вот как метод поиска базы знаний влияет на многопутевой поиск (Multi-path Retrieval):
  1. Что делать, если я не могу настроить взвешенную оценку при обращении к нескольким базам знаний и появляется сообщение об ошибке?
Эта проблема возникает из-за того, что эмбеддинг-модели, используемые в нескольких связанных базах знаний, не совпадают, и поэтому появляется это уведомление — чтобы избежать конфликтов в извлекаемом содержимом. Рекомендуется задать и включить реранк-модель в разделе «Поставщик модели» либо унифицировать настройки поиска у баз знаний.
  1. Почему я не вижу параметр «Взвешенная оценка» в режиме многопутевого извлечения (multi-recall) и вижу только реранк-модель?
Проверьте, не использует ли ваша база знаний экономичный режим индексации («Economical»). Если да, переключите его на режим высокого качества («High Quality»).