Перейти к содержанию

TESSA ИИ

Модуль TESSA ИИ предназначен для обработки документов и автоматизации широкого круга рабочих процессов в системе.

В основе работы модуля лежит агентная архитектура, ключевой особенностью которой является использование большой языковой модели (LLM) в качестве вспомогательного инструмента. Реализованный в TESSA агент может использовать и выполнять только заранее заложенные в систему функции, реализованные в виде инструментов, являющихся по своей природе специализированными мини-агентами.

Info

Отличие классического ИИ-инструмента от ИИ-агента заключается в том, что инструменту недоступен полный контекст чата, а доступна лишь информация, описанная в его входных аргументах. Таким образом, инструмент по своей природе является функцией без состояния. В отличие от инструмента, агент обладает всей полнотой контекста, историей переписки и доступом к долговременной памяти.

В системе можно реализовать два вида инструментов:

  • программные, используемые для сложных сценариев и полностью реализуемые кодом;
  • карточные, используемые для простых сценариев и задаваемые в виде карточек AiTool.

Info

В лицензии “ИИ спец. редакция” создание новых программных инструментов недоступно.

Доступ к настройкам модуля имеют пользователи, добавленные в группу Эксперты модуля ИИ.

Открыть настройки модуля можно из Меню системы -> Настройки системы, они включают в себя корневую категорию Модуль ИИ и вложенную в неё категорию Инструменты.

Категория Модуль ИИ содержит следующие блоки: Группы, Настройки файлов ИИ и Основные настройки ИИ.

Группы

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

Двойным кликом по строке таблицы открывается диалоговое окно с информацией о составе группы, статусе пользователя в данной группе и о её администраторах.

Пользователи, входящие в группу Эксперты модуля ИИ, имеют доступ ко всем настройкам, описанным в данном разделе ниже.

Настройки экспертного режима

Открыть конфигурацию ИИ ассистента можно по кнопке в левом нижнем углу виджета. Открывшееся диалоговое окно содержит следующие настройки:

  • Экспертный режим включён - флаг, показывающий, что ассистент находится в экспертном режиме. При включённом режиме становится доступным изменение всех настроек, описанных ниже.
  • Режим протоколирования включён - при выставленном флаге в чате с ИИ ассистентом отображается отладочная информация (кнопка Показать логи в чате, нажатием которой можно открыть диалоговое окно для отображения логов, а также скопировать и скачать их).
  • Модель ИИ ассистента - доступна к выбору из списка одна из моделей, при помощи которой будут выполняться запросы пользователя в рамках реализованных инструментов.

    Important

    Указанная в данном поле модель ИИ ассистента является приоритетной по сравнению с моделями, выбранными в настройках модуля ИИ в поле Модель ИИ по умолчанию, а также в поле Предпочитаемая модель в настройках инструментов.

  • Инструмент - инструмент, который будет использоваться ИИ агентом для обработки запроса пользователя.

  • Блок Операции обработки вложений содержит разные типы вложений и определяет, как вложения должны обрабатываться и отправляться в модель ИИ.

Настройки файлов ИИ

Блок содержит следующие настройки отправки файлов модуля ИИ:

Параметр
Описание
Максимальное количество файлов в сообщении чата Количество файлов, которые пользователь может прикрепить к сообщению. При попытке превысить количество прикреплённых файлов пользователь увидит соответствующее сообщение в чате. Может быть оставлено пустым, в этом случае количество файлов, доступных для прикрепления, является неограниченным
Максимальный размер файла, Кб Регулирует максимальный размер одного файла, доступного для прикрепления в чат. Может быть оставлено пустым, в этом случае максимальный размер файлов, доступных для прикрепления, является неограниченным
Таймаут операции jinni по извлечению содержимого для файлов ИИ Максимальный период ожидания ответа в секундах от веб-сервиса jinni по извлечению текстовых данных из файла. В случае, если извлечение текста не завершено до истечения максимального периода ожидания, пользователь получает уведомление об ошибке. Значение по умолчанию - 7200
Интервал между проверками состояния для операции jinni по извлечению контента для файлов ИИ Минимальная единица времени в секундах, спустя которую веб-сервис web отправляет веб-сервису jinni запрос о статусе операции по извлечению текста из файла. Значение по умолчанию - 1

Таблица Настройки обработки файлов содержит список всех групп вложений, доступных для обработки ИИ ассистентом, а также соответствующих им расширений файлов. Данные настройки определяют, каким образом файл с заданным расширением будет обработан и отправлен ИИ. Для различных групп вложений можно установить следующие типы обработки файлов:

  • отправить только текст из файла - из файла будет извлечён текст, который затем будет отправлен ИИ. Получение текстовых данных из файла осуществляется через веб-сервис jinni. Извлечение данных настраивается отдельно, см. в Конфигурировании веб-сервиса;
  • отправить изображения страниц - страницы файла будут преобразованы в изображения, которые и будут отправлены ИИ. Операция осуществляется через jinni и доступна только для моделей ИИ, которые поддерживают обработку изображений;
  • отправить файл без предобработки - позволяет отправить файл без предварительной обработки. Форматы файлов зависят от конкретной модели.

Таблица Поддерживаемые в ИИ типы файлов позволяет задавать тип файла на основе его расширения. Данные настройки применяются только к файлам, которые отправляются без предварительной обработки и отвечают за то, как ИИ будет интерпретировать полученный им файл. Для различных расширений можно указать следующие типы:

  • текстовый;
  • изображение.

Important

Настройки, указанные в данной таблице, являются экспертными и их не рекомендуется изменять, т.к. это может привести к непредвиденным последствиям при обработке файлов, передаваемых в модель ИИ в режиме “без обработки”.

Основные настройки ИИ

Блок содержит следующие настройки для конфигурации модуля ИИ:

Параметр
Описание
Модуль ИИ включён Отвечает за включение/отключение модуля. По умолчанию выставлен. Флаг позволяет полностью отключить все функциональные возможности, связанные с взаимодействием с ИИ, даже при условии наличия соответствующей лицензии. При этом в списке доступных виджетов на дашборде пропадает виджет “ИИ ассистент”, а в случае, если он уже был добавлен пользователем на дашборд - станет недоступен для работы. Также будет скрыта кнопка ИИ ассистент в контекстных меню файлов и на тулбаре карточек
Модель ИИ по умолчанию Доступна к выбору из списка одна из моделей, при помощи которой будут выполняться запросы пользователя в рамках реализованных инструментов. Целевая модель может быть переопределена в рамках каждого отдельного инструмента
Типы карточек, для которых включён ИИ ассистент По умолчанию указан тип карточки “Договорной документ”, доступны к выбору другие типы из списка. Для всех карточек указанных типов на тулбаре карточки будет отображена кнопка ИИ ассистент, нажатием которой в диалоге открывается чат с ИИ ассистентом, аналогичный тому, что используется в виджете на дашборде
Ответ, если инструмент не определён Текст сообщения ассистента для вывода пользователю в случае, если для выполнения запроса пользователя не был определён подходящий инструмент. Если не заполнено, то будет использоваться текст ответа, заложенный в типовой поставке платформы
Приветственное сообщение Текст, отображаемый в приветственном сообщении ИИ ассистента в чате. Может быть строкой локализации
Метод OCR Обработчик распознавания текста, применяемый при индексации документов коллекции. Если обработчик не задан, то по умолчаниию используется обработчик из настроек конфигурации Jinni. Если метод задан в Модуле ИИ, он применяется везде в ИИ

Настройки умного поиска

Настройки RAG расположены в разделе Умный поиск (RAG) и предназначены для настройки основных параметров механизма, мониторинга и редактирования карточных коллекций.

Important

Умный поиск (RAG) работает только с PostgreSQL и при наличии библиотеки AiVector.

Основные настройки

Поля основных настроек:

  • RAG включён - отвечает за включение/отключение RAG. По умолчанию включён;
  • Модель плотных эмбеддингов - модель ИИ для генерации числового вектора. Данная модель будет использована при индексации файлов в коллекциях и при вычислении вектора поискового запроса при непосредственном поиске по RAG. По умолчанию не задана;
  • Максимальное количество релевантных записей в таблице с результатами - максимальное количество фрагментов, которое возвращает «Умный поиск» при поиске данных;
  • Режим поиска - режим поиска релевантных данных в механизме. На выбор доступны следующие значения:
    • Векторный - поиск по смыслу слов. Может находить близкие по смыслу слова и фразы;
    • Полнотекстовый - поиск введённых слов с учётом морфологии. Позволяет совершать поиск по точному совпадению заданных слов;
    • Гибридный (комбинация векторного и полнотекстового).
  • Минимальный порог релевантности векторного поиска - используется для отсечения нерелевантных документов при векторном поиске: возвращаются только результаты со значением метрики равным или выше указанного. Чем больше значение, тем строже отбор и выше точность совпадения. Возможные значения находятся в диапазоне от 0.0 до 1.0, где 1.0 - идеальное совпадение, а 0.0 - полное отсутствие сходства. Поле доступно для редактирования только для режимов поиска Векторный и Гибридный;
  • Минимальный порог релевантности полнотекстового поиска - используется для отсечения нерелевантных документов при полнотекстовом поиске: возвращаются только результаты со значением метрики равным или выше указанного. Чем больше значение, тем строже отбор и выше точность совпадения. Возможные значения находятся в диапазоне от 0.0 до 1.0, где 1.0 - идеальное совпадение, а 0.0 - полное отсутствие сходства. Поле доступно для редактирования только для режимов поиска Полнотекстовый и Гибридный;
  • Стратегия переранжирования - стратегия переранжирования результатов гибридного поиска. На данный момент предоставлены следующие стратегии:
    • Объединение результатов (RRF) - результаты векторного и полнотекстового поисков объединяются с помощью алгоритма “Reciprocal Rank Fusion”. Данная стратегия уравновешивает результаты на основе ранга (позиции), который занимает каждый найденный фрагмент в разных режимах поиска. При выборе данного значения становятся доступны два дополнительных поля: Вес векторного поиска и Вес полнотекстового поиска. С их помощью можно настроить степень влияния каждого режима на формирование конечного списка результатов. Возможные значения весов находятся в пределах от 1 до 100;
    • Модель переранжирования - результаты векторного и полнотекстового поисков отправляются специальной модели (Reranker) для переранжирования. ИИ-модель пересчитывает релевантность фрагментов, оценивая запрос и фрагмент совместно. При выборе данного значения становится доступно поле Модель переранжирования для выбора конкретной модели для переранжирования. Список данных моделей настраивается в конфигурации arti, см. в Конфигурационный файл arti.
  • Мониторинг - кнопка, предоставляющая доступ к отдельному окну для отслеживания текущего состояния запросов и процессов индексирования.

Поля количества результатов, режима поиска и порогов релевантности применяются для настройки умного поиска на соответствующей вкладке в центре файлов.

Мониторинг RAG

Раздел предназначен для администрирования коллекций механизма RAG (Retrieval-Augmented Generation), используемого для семантического и полнотекстового поиска по документам. Открыть раздел можно из Настроек системы командой Умный поиск (RAG) => Мониторинг либо по прямой ссылке /rag. Доступ к разделу имеют администраторы и пользователи, входящие в группу Эксперты модуля ИИ.

Раздел построен по принципу master-detail: в верхней таблице Коллекции отображаются все коллекции RAG, доступные в системе, а в нижней части - вкладки Запросы и Фрагменты, содержимое которых зависит от выбранной строки в таблице коллекций.

Двойным кликом по строке таблицы Коллекции открывается диалоговое окно с настройками коллекции. Форма Коллекции содержит следующие поля:

  • Название и Описание - краткое название и подробное описание коллекции;
  • Тип - тип коллекции. Стандартные типы коллекций: Карточка и Папка (для коллекций, привязанных к папке центра файлов);
  • Плагин - название плагина, обрабатывающего документ и поиск для коллекции. Задаётся кодом при создании коллекции и недоступно для изменения;
  • Изменено и Кем изменено - дата последнего изменения коллекции и пользователь, её выполнивший;
  • Включено - признак того, что коллекция участвует в поиске релевантных данных ИИ-агентом. На индексацию документа коллекции данный признак не влияет;
  • Метод OCR - обработчик распознавания текста, применяемый при индексации документов коллекции; если он не указан, используется обработчик из настроек модуля ИИ;
  • Статус - агрегированный статус индексации коллекции: Проиндексировано, Ожидание индексации, Выполняется индексация или Проиндексировано с ошибками;
  • В очереди, В обработке, Успешно, Ошибка - количество документов коллекции в соответствующем статусе индексации.

Изменить в форме можно только Метод OCR, остальные поля доступны только для просмотра.

Note

Если для конкретной коллекции переопределен Метод OCR, то данный метод будет использоваться только для этой коллекции.

Для сохранения изменений необходимо нажать кнопку Сохранить.

В контекстном меню строки из таблицы с коллекциями доступны действия:

  • Переиндексировать - запускает переиндексацию выбранной коллекции для всех её существующих документов среди запросов/фрагментов.
  • Синхронизировать - запускает полную переиндексацию выбранной коллекции, которая включает в себя актуализацию всех известных документов для заданной коллекции.

Important

В процессе переиндексации/синхронизации ранее созданные запросы/фрагменты индексации коллекции будут удалены.

На вкладке Запросы отображаются запросы на индексацию документа выбранной коллекции. Двойным кликом по строке открывается диалоговое окно с данными запроса в режиме только для чтения.

В контекстном меню строки из таблицы с запросами доступны действия:

  • Повторить индексацию (для запросов, завершившихся с ошибкой) - выполняет попытку повторной индексации документа.
  • Отменить индексацию (для запросов в очереди или в обработке) - выполняет отмену текущего процесса индексации документа.

На вкладке Фрагменты отображаются результаты индексации - фрагменты текста документов выбранной коллекции, использующиеся при поиске. Двойным кликом по строке открывается диалоговое окно с полным текстом фрагмента; в нём доступно переключение между отформатированным markdown и исходным текстом с подсветкой синтаксиса.

Настройка коллекций в центре файлов описана в Руководстве пользователя.

Настройки инструмента умного поиска

Инструмент “Умный поиск по документам” обладает рядом дополнительных настроек, которые позволяют управлять механизмом поиска RAG при выполнении инструмента.

Поля дополнительных настроек:

  • Максимальное количество результатов поиска, обрабатываемых ассистентом - максимальное количество фрагментов, которое обрабатывает ИИ-ассистент при работе инструмента “Умный поиск по документам”;
  • Учитывать контекст запроса - при включении этой опции перед непосредственным поиском данных пользовательский запрос будет отправлен к ИИ для трансформации под каждый текущий режим поиска. Это поможет обеспечить более точные и релевантные результаты, но увеличит время ожидания ответа, так как потребуется дополнительный запрос к ИИ. Помимо этого, инструмент начнёт работать в рамках одной выбранной коллекции и при трансформации запроса будет также учитывать предыдущий запрос и ответ на него. Это позволяет пользователю общаться с ассистентом в рамках одного контекста или задавать уточняющие вопросы, опираясь на результаты предыдущего запроса.

Карточные коллекции

Карточные коллекции определяют множество файлов, объединённых типом карточки, состоянием карточки и категорией файлов. Например: если для коллекции указан тип “Договор”, состояние “Проект” и не указана категория, то все файлы, независимо от категории, в которой они лежат, в карточках типа “Договор” и в состоянии “Проект” будут определены в эту коллекцию.

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

  • Идентификатор - уникальный идентификатор (алиас) коллекции. Обязательное поле;
  • Название - уникальное название коллекции. Участвует в автоматическом определении коллекции на основе запроса. Обязательное поле;
  • Описание - развёрнутое описание коллекции. Участвует в автоматическом определении коллекции на основе запроса. Обязательное поле;
  • Включён - переключатель, определяющий, активна ли в данный момент коллекция;
  • Области коллекции - таблица, определяющая набор типов карточек, состояний и категорий файлов, входящих в состав коллекции. Чтобы создать коллекцию, необходимо добавить в эту таблицу хотя бы одну область.

Настройки отдельной области:

  • Типы - список типов карточек (или типов документов), включённых в область. Обязательное поле;
  • Состояния - список допустимых состояний карточек для данной области. Если не заданы - подходит любое состояния;
  • Категории - список допустимых категорий файлов для данной области. Если не заданы - подходит любая категория.

Note

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

Система отслеживает изменения в карточках и автоматически управляет составом коллекций: новые файлы индексируются, а файлы, переставшие соответствовать областям, удаляются.

Инструменты

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

Список программно реализованных инструментов, входящих в типовую поставку, см. в Руководстве пользователя.

Пример разработки программного инструмента см. в разделе Пример ИИ инструмента для составления резюме по протоколу совещания.

Таблица управления инструментами содержит следующие колонки:

  • название инструмента и его код, а также признак, является ли инструмент системным (такие инструменты недоступны пользователям в интерфейсе);
  • переключатель “Отключён”, позволяющий отключить использование инструмента в системе;
  • вид инструмента: программный или карточный.

Двойным кликом по строке с инструментом либо нажатием кнопки в строке с выбранным инструментом открывается диалоговое окно редактирования инструмента, содержащее ряд настроек.

Также настройки инструмента можно открыть в отдельной вкладке, выбрав пункт Открыть настройки инструмента в контекстном меню, вызываемом нажатием правой кнопки мыши по названию инструмента.

  • Кнопка Восстановить по умолчанию сбрасывает настройки инструмента до значений по умолчанию.

  • Поле Название - название инструмента, выводится пользователю в списке инструментов в чате с ИИ ассистентом, а также используется для автоматического определения инструмента на основании текста сообщения пользователя. Нажатием кнопки открывается диалоговое окно, в котором отображено значение поля по умолчанию, а также поле для ввода нового значения. Для того, чтобы изменить название инструмента, необходимо ввести новое название в поле Значение и сохранить изменения.

    Important

    Изменения в данном поле повлияют на автоопределение инструмента по тексту сообщения пользователя.

  • Поле Описание содержит расширенное описание работы инструмента, а также, в случае необходимости, условия его применения. Для того, чтобы изменить описание инструмента, необходимо ввести новое описание в поле Значение и сохранить изменения.

    Important

    Изменения в данном поле повлияют на автоопределение инструмента по тексту сообщения пользователя.

  • Переключатель Отключён позволяет отключить использование инструмента в системе. По умолчанию не активирован.

  • Переключатель Служебный - недоступен для редактирования. Служит для индикации того, что инструмент является системным и не может быть выбран пользователем в интерфейсе.
  • Поле Доступ содержит список ролей, которым доступен инструмент. Если не заполнено, инструмент доступен всем сотрудникам.
  • Поле Предпочитаемая модель содержит модель, которая будет использоваться для выполнения инструмента. Если модель не указана, будет использоваться модель по умолчанию.

Таблица Промпты содержит системный промпт, используемый для определения параметров инструмента. Каждый компонент промпта поддерживает плейсхолдеры вида {{name}}.

В качестве name может использоваться либо имя другого компонента, либо служебное имя, определённое в коде инструмента. Поддерживаются следующие служебные имена:

  • currentDate - текущая дата и время;
  • currentUser - ФИО текущего пользователя;
  • currentUserDepartments - список подразделений, в которые входит текущий пользователь;
  • additionalContext - строка с дополнительными данными.

Important

Корневой фрагмент промпта имеет зарезервированное имя root.

При создании итогового промпта реализована следующая логика работы: если для плейсхолдера не задано значение, он пропускается.

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

При двойном клике на строку с компонентом промпта открывается диалог, содержащий название компонента (нередактируемое поле) и его значение по умолчанию, в поле Значение можно ввести новое значение.

Таблица Схема представляет собой набор названий и описаний свойств объектов json-схемы, задающей входные данные для выполнения инструмента.

Двойной клик по строке таблицы открывает диалоговое окно со следующими полями:

  • Название - название свойства объекта схемы.
  • Заголовок - задаёт краткое описание свойства объекта схемы. Напрямую влияет на заполнение данных моделью ИИ.
  • Описание - задаёт подробное описание свойства объекта схемы. Напрямую влияет на заполнение данных моделью ИИ.

Important

Желательно задать значение хотя бы одного из полей Заголовок или Описание. Подробнее об их назначении см. в спецификации json-schema.

Info

Поля Заголовок по умолчанию и Описание по умолчанию содержат соответствующие значения, заданные программно в инструменте.

Значения полей Заголовок и Описание могут быть сброшены до значений по умолчанию нажатием соответствующей кнопки в нижней части диалога. После этого необходимо сохранить изменения.

Настройки любого инструмента могут быть сброшены до значений по умолчанию, т.е. тех, которые заданы в коде. Для этого необходимо выбрать пункт Восстановить по умолчанию контекстного меню инструмента в таблице. При этом настройки инструмента сразу будут изменены на дефолтные, но автоматического сохранения не произойдёт, т.е. процесс изменения настроек может быть продолжен, после чего необходимо сохранить изменения вручную по кнопке Сохранить.

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

  • Копировать ссылку - в буфер обмена копируется ссылка на юнит настроек инструмента;
  • Экспортировать - настройки инструмента сохраняются в файле формата .jsettings, файл скачивается на устройство. При этом, если настройки инструмента никогда не были изменены вручную, экспортировать файл будет невозможно, так как будет отсутствовать соответствующая запись о настройках в базе данных;
  • Импортировать - файл с настройками импортируется в систему с устройства пользователя, и в случае, если настройки являются валидными, они записываются в базу данных и обновляются в интерфейсе. Если импортируемый файл не содержит настройки, распознанные системой, импорт не будет осуществлён;
  • История действий - история всех изменений, связанных с созданием, изменением и удалением юнита настроек инструмента.

Контекстное меню карточных инструментов также содержит пункт Открыть карточку инструмента, где содержатся все параметры инструмента (подробнее о которых в разделе Создание карточных инструментов).

Important

Программный инструмент перестаёт быть доступным для редактирования в случае, если в системе найден его дубликат (инструмент с аналогичным кодом). При этом во всплывающем сообщении, появляющемся при наведении курсора на строку с инструментом, отображается соответствующее предупреждение. Переключатель Отключён недоступен как у инструмента, так и у его дубликата, перейти в режим редактирования инструмента двойным кликом по строке невозможно. В таком случае необходимо отключить один из инструментов в коде.

Дополнительные настройки инструментов

Для некоторых инструментов также могут присутствовать дополнительные настройки. Если у инструмента есть такие настройки, то они будут отображены на отдельной вкладке “Дополнительные настройки”.

Проверка документа по чек-листу

Инструмент проверки документа по чек-листу позволяет автоматически определить его тип (среди настроенных) и выполнить проверку текста по соответствующему чек-листу.

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

В таблице Справочник с чеклистами задаются типы документов и их чек-листы. Для каждого типа документа можно настроить следующие поля:

  • Название типа документа - наименование договорного документа для которого определён чек-лист;
  • Промпт для определения типа документа - вспомогательное описание, которое поможет ИИ правильно распознать тип документа на основе каких-либо признаков;
  • Промпт для чек-листа - вспомогательное описание к критериям чек-листа, которое будет отправлено в промпт к ИИ при проверки документов по чек-листу. Данный текст добавляется к промпту через шаблон {{checkListDocPrompt}};
  • Одиночный выбор - переключатель режима чек-листа. Данный флаг указывает на то, что среди пунктов чек-листа ниже может быть только один положительный ответ;
  • Критерии чек-листа - список критериев чек-листа данного типа документа.

Таблица критериев чек-листа поддерживает редактирование “на месте”. Для этого необходимо нажать на значок в последней колонке строки таблицы. В ячейках таблицы отобразятся поля ввода для редактирования значений.

Нажатием изменения применяются, а нажатием введённые значения сбрасываются и редактирование прекращается.

Строка таблицы чек-листа содержит следующие редактируемые поля:

  • Название - краткое название критерия проверки. Оно будет отображаться в конечном ответе от ИИ-ассистента;
  • Описание - дополнительное описание критерия, которое поможет ИИ корректно распознать соответствие документа данному критерию;
  • Параметр json - уникальный идентификатор данного критерия. Он необходим для однозначной идентификации данного критерия.

Тестирование инструментов

Раздел Тестирование инструментов предназначен для тестирования промптов инструментов. Также тестирование можно выполнить в утилите tadmin (см. Команда тестирования промптов ИИ).

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

Обработка операций тестирования промптов ИИ осуществляется с помощью плагина AiPromptTestExecutionPlugin (см. Cписок плагинов).

Для запуска тестирования необходимо:

  1. Нажать кнопку Загрузить тесты для загрузки файлов тестов.

    Info

    Шаблоны тестов для промптов инструментов можно сгенерировать с помощью tadmin. Описание доступно в разделе Команда экспорта шаблонов тестирования промптов ИИ.

    При загрузке тестов пользователь может выбрать как отдельные yaml файлы, так и zip архив (см. Отправка .zip-архива с файлами тестов).

  2. Нажать кнопку Запустить для начала выполнения тестов, для отмены нажать кнопку Отменить.

Время выполнения тестов отображается в поле Время выполнения тестов, с.

После завершения тестирования отображаются результаты последнего теста, запущенного пользователем в течение последних трёх дней. По кнопке Скачать результаты можно скачать результаты в формате html или yaml.

В таблице Общая статистика отображается сводная информация по всем тестам:

  • Всего тестов - общее количество тестов.
  • Успешно - количество успешно завершённых тестов.
  • Провалено - количество тестов с ошибками выполнения: ошибки обработки файлов, несовпадение ответа с ожидаемым результатом или превышен лимит времени.
  • Пропущено - количество тестов, пропущенных из-за ошибок входных данных: невалидный ожидаемый ответ, отсутствующий режим обработки файлов или ссылка на отсутствующий файл.

Таблица Статистика по моделям содержит результаты тестирования для каждой из протестированных моделей:

  • Модель - название модели ИИ.
  • Всего тестов - общее количество тестов для данной модели.
  • Успешно - количество успешно завершённых тестов.
  • Провалено - количество тестов с ошибками выполнения: ошибки обработки файлов, несовпадение ответа с ожидаемым результатом или превышен лимит времени.
  • Пропущено - количество тестов, пропущенных из-за ошибок входных данных: невалидный ожидаемый ответ, отсутствующий режим обработки файлов или ссылка на отсутствующий файл.

Создание карточных инструментов

Чтобы создать новый карточный инструмент, необходимо нажать на кнопку + Создать в правой части блока настроек инструментов.

В карточке указываются:

  • Название инструмента - название инструмента на русском или английском языке, которое должно кратко описывать суть действия (операции), выполняемой инструментом. Влияет на определение инструмента по тексту сообщения пользователя. Обязательное поле.
  • Код инструмента - код инструмента должен сжато описывать суть действия (операции), выполняемой инструментом. Представляет собой уникальное краткое название инструмента для его идентификации. Допускается использование букв английского алфавита нижнего и верхнего регистров, цифр, тире и подчёркиваний (без пробелов).
  • Отключить инструмент - переключатель, который отключает инструмент и делает его недоступным для использования.
  • Дополнительное описание инструмента - содержит подробное описание назначения инструмента, а также дополнительные условия его применения. Влияет на определение инструмента по тексту сообщения пользователя.
  • Описание - содержит текст, выводимый пользователю в диалоге выбора инструментов в качестве всплывающей подсказки.
  • Автопромпт - регулирует использование стандартного промпта инструмента, отображаемого и редактируемого в настройках инструмента. Если флаг снят, текст промпта задаётся в соответствующем поле Промпт данной карточки. По умолчанию переключатель включён.
  • Промпт - поле, которое становится активным только при выключенном переключателе Автопромпт. Используется в случае, если требуется вручную задать специфичный промпт для получения параметров для маппинга/фильтрации по запросу пользователя. Используемый плейсхолдер: params - параметры из таблицы Маппинг полей/Параметры фильтрации, собираются в виде: “название 1 - описание 1, название 2 - описание 2” и т.д. Обязательное поле, если отключён Автопромпт.
  • Контекст - дополнительные данные для промпта. Доступны к выбору следующие значения: Сотрудник, Подразделение, Текущая дата/время, поддерживается множественный выбор.
  • Ответ, если данных не хватает - сообщение, выводимое пользователю в случае, если из текста запроса пользователя инструмент не смог определить все требуемые параметры для выполнения запроса. Используемый плейсхолдер: missed_values - список значений, которые необходимо уточнить для продолжения работы инструмента.
  • Вид - режим работы инструмента, доступен выбор из двух режимов: Внести данные (позволяет создавать новую карточку выбранного типа) и Получить данные (позволяет получать и обрабатывать данные выбранного представления).

Для создания инструмента вида Внести данные необходимо заполнить следующие поля:

  • Выполнить действие - доступно к выбору одно из значений:

    • Создать и открыть карточку - карточка будет создана, открыта, но не сохранена на сервере, пользователю необходимо сохранить её самостоятельно.
    • Создать и сохранить карточку- карточка будет создана и сохранена на сервере. Карточка не будет автоматически открыта пользователю, но в чат может быть выведена ссылка на созданную карточку.
    • Создать карточку и запустить процесс- аналогично предыдущему пункту, с запуском процесса после сохранения карточки на сервере.
  • Тип - определяет тип создаваемой карточки. К выбору доступен один из типов карточек, указанных в настройках типового решения, или один из типов документа.

  • Подтверждение выполнения действия - текст, выводимый пользователю для подтверждения им выполнения указанного запроса. Используемый плейсхолдер: card_fields - форматированный список обработанных данных полей карточки из запроса пользователя. Необязательное поле, в случае, если не заполнено, действие будет выполнено без подтверждения пользователем.
  • Ответ при успешном выполнении - текст, выводимый пользователю в случае успешного выполнения запроса. Используемый плейсхолдер: card_link- ссылка на созданную карточку в markdown формате, работает для всех типов действий, кроме Создать и открыть карточку.
  • Текст ошибки, если не удалось выполнить действие - текст, выводимый пользователю в случае, если запрос не удалось выполнить.
  • Маппинг полей - таблица содержит данные для заполнения карточки и выполняет две функции:

    • служит каркасом для получения данных из текста запроса пользователя моделью ИИ;
    • определяет, в какие поля и секции карточки будут занесены распознанные данные.

    Чтобы добавить поле в таблицу, необходимо указать следующие параметры:

    • Название поля - название поля выполняет две основные функции:

      • является частью общего промпта и передаётся ИИ для определения указанного поля;
      • используется при отображении указанного поля в сообщении-подтверждении пользователю.
    • Описание - данное описание будет передано ИИ для определения значения указанного поля.

    • флаг Обязательный - при выставленном флаге наличие указанного поля является обязательным для выполнения запроса пользователя, в противном случае запрос не будет выполнен с сообщением об ошибке.
    • Поиск значений по справочнику - доступен к выбору один из справочников: Подразделения, Сотрудники, Контрагенты, Состояния. В этом случае будет использована заложенная в системе функциональность для поиска нужной карточки указанного справочника по извлечённой из запроса пользователя информации.
    • Секция - по кнопке выбирается секция, где содержится поле, в которое заполнятся данные из текущего параметра.
    • Поле - по кнопке выбирается поле, в которое заполнятся данные из текущего параметра.
  • Настройка секций - данная таблица служит для настройки вывода значений, которые будут заполнены в карточке при её создании. В запросе пользователя идентифицируются поля к заполнению, далее настраивается их вывод в чате с ИИ ассистентом при сообщении-подтверждении.

Чтобы добавить запись в таблицу, необходимо указать следующие параметры:

  • Секция - по кнопке выбирается секция, где содержится поле, в которое заполнятся данные из текущего параметра.

  • Название - название, под которым секция будет отображаться в таблице.

    Данные поля являются минимально обязательными для заполнения в случае, если секция является строковой. В случае, если секция является коллекционной, для добавления её в таблицу необходимо указать также:

    • флаг Обязательный - по умолчанию снят. Секция является обязательной, если содержит хотя бы одно обязательное поле. Обязательность секции обеспечивает, что для данной секции будет добавлена хотя бы одна строка (при отображении секции в виде таблицы), либо хотя бы одна запись (при отображении секции в виде списка);
    • переключатель Является таблицей - признак того, что в коллекционной секции содержится больше одного поля. По умолчанию включён;
    • поле Колонка с целочисленным идентификатором - отображается только при выставленном флаге Является таблицей. Поле автоматически заполняется порядковым номером строки, начиная с 0. Можно выбрать только одно значение.

    Если переключатель Является таблицей выключен, в поле Способ вывода списка необходимо выбрать одно из значений, определяющих формат, в котором будут выведены значения данной секции: В строку, Маркированный список, Нумерованный список. По умолчанию выбрано значение В строку.

Для создания инструмента вида Получить данные необходимо заполнить следующие поля:

  • Представление - в поле указывается ссылка на одно из представлений из списка по кнопке . При этом представление при фильтрации по запросу пользователя (по вычисленным параметрам фильтрации) будет выполняться от имени текущего пользователя, т. е. недоступные пользователю данные не будут участвовать в фильтрации.
  • Отправлять ИИ не более строк - в поле указывается целое положительное число больше 0, которое определяет, сколько первых строк представления (с учётом сортировки в представлении) будет отправлено в ИИ для обработки данных. Таким образом, ответ ИИ будет сформирован на основе указанного количества первых строк представления, это же количество строк будет выведено в чат с пользователем. Если указано 0 строк, то этап обработки ИИ будет пропущен, в чат будут выведен только результат представления. Если не заполнено, все строки представления будут отправлены ИИ.
  • Колонки представления - в поле указывается список колонок выбранного выше представления, данные из которых будут отправлены в ИИ для обработки. Аналогично предыдущему пункту, в чате с пользователем будут выведены только указанные колонки представления. Если поле не заполнено, все колонки представления участвуют в выполнении инструмента.
  • Колонка с идентификатором карточки - доступно к выбору одно из значений из списка колонок выбранного представления. Необходимо для формирования кликабельных ссылок на карточки.
  • Параметры фильтрации - на основе параметров, указанных в данной таблице, моделью ИИ подбираются фильтры представления согласно запросу пользователя. Чтобы добавить запись в таблицу, необходимо указать следующие параметры:

    • Название - обязательное поле. Будет передано ИИ, являясь частью общего промпта.
    • Описание - данное описание будет передано ИИ для определения значения указанного параметра.
    • флаг Обязательный - при выставленном флаге наличие указанного в поле параметра является обязательным для выполнения запроса пользователя, в противном случае запрос не будет выполнен с сообщением об ошибке.
    • флаг Использовать механизм поиска диапазонов - при выставленном флаге система автоматически разобьёт данный параметр поиска на три параметра: “Точное значение”, “Начальное значение” и “Конечное значение”. Для каждого из значений автоматически будет добавлен промпт для корректного их заполнения из запроса пользователя. Поддерживаемые типы значений: дата, число.
    • Поиск значений по справочнику - доступен к выбору один из справочников: Подразделения, Сотрудники, Контрагенты, Состояния. В этом случае будет использована заложенная в системе функциональность для поиска нужной карточки указанного справочника по извлечённой из запроса пользователя информации.
    • Параметр представления - по кнопке доступен к выбору один из параметров выбранного выше представления. Заполненный ИИ моделью данный параметр будет передан в указанный здесь параметр фильтрации представления.
Back to top