Инструкции/Чат-бот/Детекторы произвольных полей (сущностей)
Общие сведения
Раздел "Детекторы произвольных полей (сущностей)" (NER — Named Entity Recognition) предназначен для создания и управления моделями распознавания сущностей, которые автоматически извлекают структурированные данные из текстовых сообщений пользователей.
Детекторы произвольных полей (сущностей) позволяют ИИ-агентам и чат-ботам автоматически определять в тексте ключевую информацию: имена, телефоны, адреса, номера заказов, даты и любые другие пользовательские поля (сущности). Это значительно повышает эффективность обработки запросов и позволяет автоматически заполнять профили клиентов.
Основные понятия
- Детектор произвольных полей (сущностей) (NER) — модель для извлечения структурированных сущностей из неструктурированного текста.
- Произвольное поле (сущность) — тип данных, который детектор должен находить в тексте (Имя, Телефон, Адрес, Номер счета и т.д.).
- RegExp — метод детекции с использованием регулярных выражений для поиска шаблонов (например, номера телефонов, email).
- LLM — метод детекции с использованием языковой модели для семантического извлечения сущностей из контекста.
- Сохранять результат — определяет, куда будет записано найденное значение: в поле пользователя, поле клиента или временную переменную.
- Кастомный промпт — пользовательские инструкции для LLM, уточняющие, как именно детектировать сущности.
Список детекторов произвольных полей (сущностей)
Просмотр списка детекторов
В таблице отображаются все созданные детекторы произвольных полей (сущностей) с колонками:
- Название детектора — имя, идентифицирующее детектор.
- Кол-во полей для детекции — количество произвольных полей (сущностей), которые настроен находить детектор.
- Статус — включен или отключен.
- Действие — кнопка редактирования.

Доступные действия
1. Выделение детекторов: Установите флажки в первом столбце таблицы или используйте главный флажок в заголовке для выделения всех.
2. Добавление нового детектора: Нажмите синюю кнопку "Добавить" в верхней панели.
3. Удаление детекторов: Выделите детекторы и нажмите красную кнопку "Удалить" (потребуется подтверждение).
Создание и редактирование детектора произвольных полей (сущностей)
Вкладки редактирования
При создании или редактировании детектора произвольных полей (сущностей) доступны две вкладки:
1. "Общее" — основная информация о детекторе.
2. "Настройки" — настройка произвольных полей (сущностей), методов детекции и сохранения результатов.
Вкладка "Общее"

Основные настройки детектора:
1. Название инструмента — имя детектора (обязательное поле). Должно быть понятным и отражать назначение (например: "Детектор контактных данных", "Детектор заказов").
2. Описание функции — подробное описание того, какие сущности детектирует инструмент и для каких целей используется.
3. Статус — включение/отключение детектора.
Вкладка "Настройки"

Кастомный промпт-инструкции для детектора:
Переключатель "Кастомный промпт-инструкции для детектора" позволяет включить использование пользовательских инструкций для LLM.
При включении появляется текстовое поле "Описание-инструкции для детектора (Промпт). Если пустое, будет использоваться нативный промпт.", где можно задать:
- Роль, которую выполняет детектор.
- Правила извлечения сущностей.
- Формат вывода данных.
- Особые случаи и исключения.
Пример: "Role: Ты — эксперт по обработке естественного языка (NLP) и извлечению структурированных данных. Может быть найдено несколько сущностей. Если не нашлось сущностей, не выводить."
Если кастомный промпт не задан или переключатель выключен, используется нативный промпт системы.
Настройка произвольных полей (сущностей)
В таблице настраиваются поля (сущности), которые детектор должен находить в тексте, и способы их обнаружения.
Структура таблицы:
- Произвольное поле (сущность) — название поля (например, Имя, Телефон, Адрес, Номер заказа). Поля отображаются в виде списка для выбора из существующих произвольных полей (сущностей) системы.
- RegExp — использовать регулярное выражение для поиска (включено/выключено).
- LLM — использовать языковую модель для семантического поиска (включено/выключено).
- в поле пользователя — сохранять найденное значение в поле пользователя.
- в поле клиента — сохранять найденное значение в поле клиента.
- во временную переменную — сохранять найденное значение во временную переменную для дальнейшего использования.
Управление полями (сущностями):
1. Нажмите кнопку "+" в нижней части таблицы для добавления нового поля (сущности).
2. В выпадающем списке выберите нужное произвольное поле (сущность) из существующих в системе.
3. Настройте методы детекции (RegExp и/или LLM) и способы сохранения.
4. Для удаления поля (сущности) нажмите кнопку "✕" в строке поля.
5. Поля (сущности) можно перетаскивать (drag-and-drop) с помощью иконки "↕" для изменения порядка обработки.
Примечание: Поля (сущности) отображаются в виде списка выбора из существующих произвольных полей, что упрощает настройку и предотвращает ошибки ввода.
Методы детекции
RegExp (Регулярные выражения):
Используется для поиска текста по заданным шаблонам. Эффективен для структурированных данных с четким форматом.
Примеры шаблонов:
- Телефон:
\+7 \(\d{3}\) \d{3}-\d{2}-\d{2}или8-800-\d{3}-\d{2}-\d{2} - Email:
[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,} - Номер лицевого счета:
\d{20}
LLM (Языковая модель):
Использует семантический анализ для извлечения сущностей из контекста. Эффективен для неструктурированных данных и нестандартных формулировок.
Примеры:
- Из фразы "Меня зовут Иван Петров" LLM извлечет "Имя" → "Иван Петров".
- Из фразы "Мой номер +7 999 123-45-67" LLM извлечет "Телефон" → "+7 999 123-45-67".
- Из фразы "Я живу по адресу ул. Ленина, д. 5, кв. 12" LLM извлечет "Адрес" → "ул. Ленина, д. 5, кв. 12".
Рекомендуется использовать комбинацию методов: RegExp для четких шаблонов и LLM для нестандартных формулировок.
Сохранение результатов
в поле пользователя — данные сохраняются в профиль пользователя в чате. Используется для персонализации общения.
в поле клиента — данные сохраняются в карточку клиента в CRM-системе. Используется для ведения клиентской базы.
во временную переменную — данные сохраняются во временную переменную сессии. Используется для промежуточных вычислений и передачи данных между сценариями.
Можно выбрать несколько вариантов сохранения одновременно.
Сохранение изменений
1. Сохранить: Нажмите синюю кнопку "Сохранить" в верхней панели для сохранения всех настроек и создания/обновления детектора.
2. Назад: Нажмите серую кнопку "Назад" для возврата к списку без сохранения изменений.
При нажатии "Назад" система предупредит о несохраненных изменениях.
Интеграция с ИИ-агентами
Связь между модулями
Созданные детекторы произвольных полей (сущностей) используются ИИ-агентами для автоматического извлечения структурированных данных из сообщений пользователей.
Как это работает:
1. Вы создаете детектор и настраиваете поля (сущности), которые он должен находить.
2. В настройках ИИ-агента на вкладке "Настройки" в разделе "Настройки детектора сущностей" выбираете нужный детектор.
3. При обработке сообщения пользователя ИИ-агент передает текст в детектор.
4. Детектор анализирует текст и возвращает найденные сущности с указанием их типов и значений.
5. ИИ-агент использует извлеченные данные для формирования ответа или сохранения в профиль пользователя.
Оптимальные подходы
Именование и организация:
1. Понятные названия: Называйте детекторы так, чтобы было понятно, какие поля (сущности) они определяют (например: "Детектор контактных данных", "Детектор заказов", "Детектор финансовой информации").
2. Описание: Заполняйте поле описания детектора, указывая, для каких задач он предназначен.
3. Группировка: Создавайте отдельные детекторы для разных типов задач, чтобы упростить управление.
Рекомендации по выбору методов детекции:
1. Для структурированных данных: Используйте RegExp для точного поиска по шаблонам (телефоны, email, номера документов).
2. Для неструктурированных данных: Используйте LLM для семантического извлечения (имена, адреса, описания).
3. Комбинированный подход: Включайте оба метода для максимальной точности. RegExp отлавливает точные совпадения, LLM обрабатывает нестандартные формулировки.
4. Приоритеты: Учитывайте, что при наличии обоих методов результат может обрабатываться в порядке приоритета.
Рекомендации по кастомному промпту:
1. Четкая роль: Определите роль детектора (эксперт по извлечению данных, анализатор текста).
2. Формат вывода: Укажите, в каком формате возвращать найденные сущности.
3. Обработка ошибок: Опишите, что делать, если сущность не найдена (например, "Если не нашлось сущностей, не выводить").
4. Примеры: Приводите примеры корректного и некорректного извлечения.
Кастомный промпт особенно полезен для специфических предметных областей (медицина, юриспруденция, финансы), где требуется точное понимание контекста. Промпт можно оставить пустым для использования нативного промпта системы.
Рекомендации по сохранению результатов:
1. Поле пользователя: Сохраняйте данные, которые нужны для персонализации общения в рамках чата.
2. Поле клиента: Сохраняйте данные, которые должны быть доступны в CRM-системе для ведения клиентской базы.
3. Временная переменная: Используйте для промежуточных данных, которые нужны только в рамках текущего сеанса диалога.
4. Избегайте дублирования: Сохраняйте данные только в те места, где они действительно нужны.
Устранение неполадок
Детектор не находит нужные данные:
1. Проверьте статус детектора — должен быть "Включено".
2. Убедитесь, что нужное произвольное поле (сущность) добавлено в настройки детектора.
3. Проверьте включен ли метод детекции (RegExp или LLM) для данного поля (сущности).
4. Проверьте кастомный промпт — возможно, инструкции неполные или некорректные.
5. Проверьте текст сообщения — содержит ли он искомые данные в правильном формате.
RegExp не срабатывает для шаблона:
1. Проверьте синтаксис регулярного выражения — возможно, допущена ошибка.
2. Убедитесь, что формат данных соответствует шаблону (проверьте пробелы, знаки препинания).
3. Проверьте регистр символов — используйте флаг i для поиска без учета регистра.
4. Протестируйте регулярное выражение на тестовых данных в отдельном инструменте.
LLM детектирует неправильные данные:
1. Уточните кастомный промпт — добавьте более четкие инструкции и примеры.
2. Укажите в промпте формат вывода и правила извлечения.
3. Добавьте в промпт исключения — какие данные не должны считаться сущностями.
4. Проверьте, что в промпте корректно описана роль детектора.
Найденные данные не сохраняются:
1. Проверьте, что для поля (сущности) включен хотя бы один способ сохранения (в поле пользователя, поле клиента или временную переменную).
2. Убедитесь, что в системе существует соответствующее поле для сохранения.
3. Проверьте права доступа на запись в профиль пользователя или карточку клиента.
4. Проверьте логи системы на наличие ошибок при сохранении.
Ошибки при сохранении настроек:
1. Проверьте, что заполнено обязательное поле "Название инструмента".
2. Убедитесь, что все настройки полей (сущностей) заполнены корректно.
3. Проверьте, что вы выбрали существующие произвольные поля (сущности) из списка.
4. Если ошибка сохраняется — попробуйте сохранить настройки по одной вкладке за раз.