TESSA ИИ¶
Модуль TESSA ИИ предназначен для обработки документов и автоматизации широкого круга рабочих процессов в системе.
В основе работы модуля лежит агентная архитектура, ключевой особенностью которой является использование большой языковой модели (LLM) в качестве вспомогательного инструмента. Реализованный в TESSA агент может использовать и выполнять только заранее заложенные в систему функции, реализованные в виде инструментов, являющихся по своей природе специализированными мини-агентами.
Info
Отличие классического ИИ-инструмента от ИИ-агента заключается в том, что инструменту недоступен полный контекст чата, а доступна лишь информация, описанная в его входных аргументах. Таким образом, инструмент по своей природе является функцией без состояния. В отличие от инструмента, агент обладает всей полнотой контекста, историей переписки и доступом к долговременной памяти.
В системе можно реализовать два вида инструментов:
- программные, используемые для сложных сценариев и полностью реализуемые кодом;
- карточные, используемые для простых сценариев и задаваемые в виде карточек
AiTool.
Доступ к настройкам модуля имеют пользователи, добавленные в группу Эксперты модуля ИИ.
Открыть настройки модуля можно из Меню системы -> Настройки системы, они включают в себя корневую категорию Модуль ИИ и вложенную в неё категорию Инструменты.

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

Двойным кликом по строке таблицы открывается диалоговое окно с информацией о составе группы, статусе пользователя в данной группе и о её администраторах.
Пользователи, входящие в группу Эксперты модуля ИИ, имеют доступ ко всем настройкам, описанным в данном разделе ниже.
Настройки экспертного режима¶
Открыть конфигурацию ИИ ассистента можно по кнопке
в левом нижнем углу виджета. Открывшееся диалоговое окно содержит следующие настройки:
- Экспертный режим включён - флаг, показывающий, что ассистент находится в экспертном режиме. При включённом режиме становится доступным изменение всех настроек, описанных ниже.
- Режим протоколирования включён - при выставленном флаге в чате с ИИ ассистентом отображается отладочная информация (кнопка Показать логи в чате, нажатием которой можно открыть диалоговое окно для отображения логов, а также скопировать и скачать их).
-
Модель ИИ ассистента - доступна к выбору из списка одна из моделей, при помощи которой будут выполняться запросы пользователя в рамках реализованных инструментов.
Important
Указанная в данном поле модель ИИ ассистента является приоритетной по сравнению с моделями, выбранными в настройках модуля ИИ в поле Модель ИИ по умолчанию, а также в поле Предпочитаемая модель в настройках инструментов.
-
Инструмент - инструмент, который будет использоваться ИИ агентом для обработки запроса пользователя.
- Блок Операции обработки вложений содержит разные типы вложений и определяет, как вложения должны обрабатываться и отправляться в модель ИИ.
Настройки файлов ИИ¶
Блок содержит следующие настройки отправки файлов модуля ИИ:
Параметр |
Описание |
|---|---|
| Максимальное количество файлов в сообщении чата | Количество файлов, которые пользователь может прикрепить к сообщению. При попытке превысить количество прикреплённых файлов пользователь увидит соответствующее сообщение в чате. Может быть оставлено пустым, в этом случае количество файлов, доступных для прикрепления, является неограниченным |
| Максимальный размер файла, Кб | Регулирует максимальный размер одного файла, доступного для прикрепления в чат. Может быть оставлено пустым, в этом случае максимальный размер файлов, доступных для прикрепления, является неограниченным |
Таймаут операции jinni по извлечению содержимого для файлов ИИ |
Максимальный период ожидания ответа в секундах от веб-сервиса jinni по извлечению текстовых данных из файла. В случае, если извлечение текста не завершено до истечения максимального периода ожидания, пользователь получает уведомление об ошибке. Значение по умолчанию - 7200 |
Интервал между проверками состояния для операции jinni по извлечению контента для файлов ИИ |
Минимальная единица времени в секундах, спустя которую веб-сервис web отправляет веб-сервису jinni запрос о статусе операции по извлечению текста из файла. Значение по умолчанию - 1 |
Таблица Настройки обработки файлов содержит список всех групп вложений, доступных для обработки ИИ ассистентом, а также соответствующих им расширений файлов. Данные настройки определяют, каким образом файл с заданным расширением будет обработан и отправлен ИИ. Для различных групп вложений можно установить следующие типы обработки файлов:
отправить только текст из файла- из файла будет извлечён текст, который затем будет отправлен ИИ. Получение текстовых данных из файла осуществляется через веб-сервисjinni. Извлечение данных настраивается отдельно, см. в Конфигурировании веб-сервиса;отправить изображения страниц- страницы файла будут преобразованы в изображения, которые и будут отправлены ИИ. Операция осуществляется черезjinniи доступна только для моделей ИИ, которые поддерживают обработку изображений;отправить файл без предобработки- позволяет отправить файл без предварительной обработки. Форматы файлов зависят от конкретной модели.
Таблица Поддерживаемые в ИИ типы файлов позволяет задавать тип файла на основе его расширения. Данные настройки применяются только к файлам, которые отправляются без предварительной обработки и отвечают за то, как ИИ будет интерпретировать полученный им файл. Для различных расширений можно указать следующие типы:
текстовый;изображение.
Important
Настройки, указанные в данной таблице, являются экспертными и их не рекомендуется изменять, т.к. это может привести к непредвиденным последствиям при обработке файлов, передаваемых в модель ИИ в режиме “без обработки”.
Основные настройки ИИ¶
Блок содержит следующие настройки для конфигурации модуля ИИ:
Параметр |
Описание |
|---|---|
| Модуль ИИ включён | Отвечает за включение/отключение модуля. По умолчанию выставлен. Флаг позволяет полностью отключить все функциональные возможности, связанные с взаимодействием с ИИ, даже при условии наличия соответствующей лицензии. При этом в списке доступных виджетов на дашборде пропадает виджет “ИИ ассистент”, а в случае, если он уже был добавлен пользователем на дашборд - станет недоступен для работы. Также будет скрыта кнопка ИИ ассистент в контекстных меню файлов и на тулбаре карточек |
| Модель ИИ по умолчанию | Доступна к выбору из списка одна из моделей, при помощи которой будут выполняться запросы пользователя в рамках реализованных инструментов. Целевая модель может быть переопределена в рамках каждого отдельного инструмента |
| Типы карточек, для которых включён ИИ ассистент | По умолчанию указан тип карточки “Договорной документ”, доступны к выбору другие типы из списка. Для всех карточек указанных типов на тулбаре карточки будет отображена кнопка ИИ ассистент, нажатием которой в диалоге открывается чат с ИИ ассистентом, аналогичный тому, что используется в виджете на дашборде |
| Ответ, если инструмент не определён | Текст сообщения ассистента для вывода пользователю в случае, если для выполнения запроса пользователя не был определён подходящий инструмент. Если не заполнено, то будет использоваться текст ответа, заложенный в типовой поставке платформы |
| Приветственное сообщение | Текст, отображаемый в приветственном сообщении ИИ ассистента в чате. Может быть строкой локализации |
Инструменты¶
Категория настроек Инструменты предназначена для администрирования всех имеющихся в системе инструментов ИИ, реализованных программно или при помощи карточек AiTool. Она отображает в табличном виде полный список инструментов и их статусов, а также позволяет находить дубликаты и удобно настраивать их ключевые параметры.
Список программно реализованных инструментов, входящих в типовую поставку, см. в Руководстве пользователя.
Пример разработки программного инструмента см. в разделе Пример ИИ инструмента для составления резюме по протоколу совещания.
Таблица управления инструментами содержит следующие колонки:
- название инструмента и его код, а также признак, является ли инструмент системным (такие инструменты недоступны пользователям в интерфейсе);
- переключатель “Отключён”, позволяющий отключить использование инструмента в системе;
- вид инструмента: программный или карточный.
Двойным кликом по строке с инструментом либо нажатием кнопки
в строке с выбранным инструментом открывается диалоговое окно редактирования инструмента, содержащее ряд настроек.
Также настройки инструмента можно открыть в отдельной вкладке, выбрав пункт Открыть настройки инструмента в контекстном меню, вызываемом нажатием правой кнопки мыши по названию инструмента.
-
Кнопка Восстановить по умолчанию сбрасывает настройки инструмента до значений по умолчанию.
-
Поле Название - название инструмента, выводится пользователю в списке инструментов в чате с ИИ ассистентом, а также используется для автоматического определения инструмента на основании текста сообщения пользователя. Нажатием кнопки
открывается диалоговое окно, в котором отображено значение поля по умолчанию, а также поле для ввода нового значения. Для того, чтобы изменить название инструмента, необходимо ввести новое название в поле Значение и сохранить изменения.Important
Изменения в данном поле повлияют на автоопределение инструмента по тексту сообщения пользователя.
-
Поле Описание содержит расширенное описание работы инструмента, а также, в случае необходимости, условия его применения. Для того, чтобы изменить описание инструмента, необходимо ввести новое описание в поле Значение и сохранить изменения.
Important
Изменения в данном поле повлияют на автоопределение инструмента по тексту сообщения пользователя.
-
Переключатель Отключён позволяет отключить использование инструмента в системе. По умолчанию не активирован.
- Переключатель Служебный - недоступен для редактирования. Служит для индикации того, что инструмент является системным и не может быть выбран пользователем в интерфейсе.
- Поле Доступ содержит список ролей, которым доступен инструмент. Если не заполнено, инструмент доступен всем сотрудникам.
- Поле Предпочитаемая модель содержит модель, которая будет использоваться для выполнения инструмента. Если модель не указана, будет использоваться модель по умолчанию.
Таблица Промпты содержит системный промпт, используемый для определения параметров инструмента. Каждый компонент промпта поддерживает плейсхолдеры вида {{name}}.
В качестве name может использоваться либо имя другого компонента, либо служебное имя, определённое в коде инструмента.
Поддерживаются следующие служебные имена:
currentDate- текущая дата и время;currentUser- ФИО текущего пользователя;currentUserDepartments- список подразделений, в которые входит текущий пользователь;additionalContext- строка с дополнительными данными.
Important
Корневой фрагмент промпта имеет зарезервированное имя root.
При создании итогового промпта реализована следующая логика работы: если для плейсхолдера не задано значение, он пропускается.
Если при этом для промпта, содержащего плейсхолдеры не задано ни одно значение, то весь промпт пропускается.
При двойном клике на строку с компонентом промпта открывается диалог, содержащий название компонента (нередактируемое поле) и его значение по умолчанию, в поле Значение можно ввести новое значение.
Таблица Схема представляет собой набор названий и описаний свойств объектов json-схемы, задающей входные данные для выполнения инструмента.
Двойной клик по строке таблицы открывает диалоговое окно со следующими полями:
- Название - название свойства объекта схемы.
- Заголовок - задаёт краткое описание свойства объекта схемы. Напрямую влияет на заполнение данных моделью ИИ.
- Описание - задаёт подробное описание свойства объекта схемы. Напрямую влияет на заполнение данных моделью ИИ.
Important
Желательно задать значение хотя бы одного из полей Заголовок или Описание. Подробнее об их назначении см. в спецификации json-schema.
Info
Поля Заголовок по умолчанию и Описание по умолчанию содержат соответствующие значения, заданные программно в инструменте.
Значения полей Заголовок и Описание могут быть сброшены до значений по умолчанию нажатием соответствующей кнопки в нижней части диалога. После этого необходимо сохранить изменения.
Настройки любого инструмента могут быть сброшены до значений по умолчанию, т.е. тех, которые заданы в коде. Для этого необходимо выбрать пункт Восстановить по умолчанию контекстного меню инструмента в таблице. При этом настройки инструмента сразу будут изменены на дефолтные, но автоматического сохранения не произойдёт, т.е. процесс изменения настроек может быть продолжен, после чего необходимо сохранить изменения вручную по кнопке Сохранить.
В случае, если настройки инструмента открыты в отдельной вкладке, сбросить их до значений по умолчанию можно c помощью пункта Восстановить по умолчанию меню, вызываемого по кнопке
в правой верхней части вкладки. Другие пункты меню включают в себя:
- Копировать ссылку - в буфер обмена копируется ссылка на юнит настроек инструмента;
- Экспортировать - настройки инструмента сохраняются в файле формата
.jsettings, файл скачивается на устройство. При этом, если настройки инструмента никогда не были изменены вручную, экспортировать файл будет невозможно, так как будет отсутствовать соответствующая запись о настройках в базе данных; - Импортировать - файл с настройками импортируется в систему с устройства пользователя, и в случае, если настройки являются валидными, они записываются в базу данных и обновляются в интерфейсе. Если импортируемый файл не содержит настройки, распознанные системой, импорт не будет осуществлён;
- История действий - история всех изменений, связанных с созданием, изменением и удалением юнита настроек инструмента.
Контекстное меню карточных инструментов также содержит пункт Открыть карточку инструмента, где содержатся все параметры инструмента (подробнее о которых в разделе Создание карточных инструментов).
Important
Программный инструмент перестаёт быть доступным для редактирования в случае, если в системе найден его дубликат (инструмент с аналогичным кодом). При этом во всплывающем сообщении, появляющемся при наведении курсора на строку с инструментом, отображается соответствующее предупреждение. Переключатель Отключён недоступен как у инструмента, так и у его дубликата, перейти в режим редактирования инструмента двойным кликом по строке невозможно. В таком случае необходимо отключить один из инструментов в коде.
Дополнительные настройки инструментов¶
Для некоторых инструментов также могут присутствовать дополнительные настройки. Если у инструмента есть такие настройки, то они будут отображены на отдельной вкладке “Дополнительные настройки”.

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

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

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

Нажатием
изменения применяются, а нажатием
введённые значения сбрасываются и редактирование прекращается.
Строка таблицы чек-листа содержит следующие редактируемые поля:
- Название - краткое название критерия проверки. Оно будет отображаться в конечном ответе от ИИ-ассистента;
- Описание - дополнительное описание критерия, которое поможет ИИ корректно распознать соответствие документа данному критерию;
- Параметр json - уникальный идентификатор данного критерия. Он необходим для однозначной идентификации данного критерия.
Создание карточных инструментов¶
Чтобы создать новый карточный инструмент, необходимо нажать на кнопку + Создать в правой части блока настроек инструментов.
В карточке указываются:
- Название инструмента - название инструмента на русском или английском языке, которое должно кратко описывать суть действия (операции), выполняемой инструментом. Влияет на определение инструмента по тексту сообщения пользователя. Обязательное поле.
- Код инструмента - код инструмента должен сжато описывать суть действия (операции), выполняемой инструментом. Представляет собой уникальное краткое название инструмента для его идентификации. Допускается использование букв английского алфавита нижнего и верхнего регистров, цифр, тире и подчёркиваний (без пробелов).
- Отключить инструмент - переключатель, который отключает инструмент и делает его недоступным для использования.
- Дополнительное описание инструмента - содержит подробное описание назначения инструмента, а также дополнительные условия его применения. Влияет на определение инструмента по тексту сообщения пользователя.
- Описание - содержит текст, выводимый пользователю в диалоге выбора инструментов в качестве всплывающей подсказки.
- Автопромпт - регулирует использование стандартного промпта инструмента, отображаемого и редактируемого в настройках инструмента. Если флаг снят, текст промпта задаётся в соответствующем поле Промпт данной карточки. По умолчанию переключатель включён.
- Промпт - поле, которое становится активным только при выключенном переключателе Автопромпт. Используется в случае, если требуется вручную задать специфичный промпт для получения параметров для маппинга/фильтрации по запросу пользователя.
Используемый плейсхолдер:
params- параметры из таблицы Маппинг полей/Параметры фильтрации, собираются в виде: “название 1 - описание 1, название 2 - описание 2” и т.д. Обязательное поле, если отключён Автопромпт. - Контекст - дополнительные данные для промпта. Доступны к выбору следующие значения: Сотрудник, Подразделение, Текущая дата/время, поддерживается множественный выбор.
- Ответ, если данных не хватает - сообщение, выводимое пользователю в случае, если из текста запроса пользователя инструмент не смог определить все требуемые параметры для выполнения запроса. Используемый плейсхолдер:
missed_values- список значений, которые необходимо уточнить для продолжения работы инструмента. - Вид - режим работы инструмента, доступен выбор из двух режимов:
Внести данные(позволяет создавать новую карточку выбранного типа) иПолучить данные(позволяет получать и обрабатывать данные выбранного представления).
Для создания инструмента вида Внести данные необходимо заполнить следующие поля:
-
Выполнить действие - доступно к выбору одно из значений:
Создать и открыть карточку- карточка будет создана, открыта, но не сохранена на сервере, пользователю необходимо сохранить её самостоятельно.Создать и сохранить карточку- карточка будет создана и сохранена на сервере. Карточка не будет автоматически открыта пользователю, но в чат может быть выведена ссылка на созданную карточку.Создать карточку и запустить процесс- аналогично предыдущему пункту, с запуском процесса после сохранения карточки на сервере.
-
Тип - определяет тип создаваемой карточки. К выбору доступен один из типов карточек, указанных в настройках типового решения, или один из типов документа.
- Подтверждение выполнения действия - текст, выводимый пользователю для подтверждения им выполнения указанного запроса. Используемый плейсхолдер:
card_fields- форматированный список обработанных данных полей карточки из запроса пользователя. Необязательное поле, в случае, если не заполнено, действие будет выполнено без подтверждения пользователем. - Ответ при успешном выполнении - текст, выводимый пользователю в случае успешного выполнения запроса. Используемый плейсхолдер:
card_link- ссылка на созданную карточку в markdown формате, работает для всех типов действий, кромеСоздать и открыть карточку. - Текст ошибки, если не удалось выполнить действие - текст, выводимый пользователю в случае, если запрос не удалось выполнить.
-
Маппинг полей - таблица содержит данные для заполнения карточки и выполняет две функции:
- служит каркасом для получения данных из текста запроса пользователя моделью ИИ;
- определяет, в какие поля и секции карточки будут занесены распознанные данные.
Чтобы добавить поле в таблицу, необходимо указать следующие параметры:
-
Название поля - название поля выполняет две основные функции:
- является частью общего промпта и передаётся ИИ для определения указанного поля;
- используется при отображении указанного поля в сообщении-подтверждении пользователю.
-
Описание - данное описание будет передано ИИ для определения значения указанного поля.
- флаг Обязательный - при выставленном флаге наличие указанного поля является обязательным для выполнения запроса пользователя, в противном случае запрос не будет выполнен с сообщением об ошибке.
- Поиск значений по справочнику - доступен к выбору один из справочников:
Подразделения,Сотрудники,Контрагенты,Состояния. В этом случае будет использована заложенная в системе функциональность для поиска нужной карточки указанного справочника по извлечённой из запроса пользователя информации. - Секция - по кнопке
выбирается секция, где содержится поле, в которое заполнятся данные из текущего параметра. - Поле - по кнопке
выбирается поле, в которое заполнятся данные из текущего параметра.
-
Настройка секций - данная таблица служит для настройки вывода значений, которые будут заполнены в карточке при её создании. В запросе пользователя идентифицируются поля к заполнению, далее настраивается их вывод в чате с ИИ ассистентом при сообщении-подтверждении.
Чтобы добавить запись в таблицу, необходимо указать следующие параметры:
-
Секция - по кнопке
выбирается секция, где содержится поле, в которое заполнятся данные из текущего параметра. -
Название - название, под которым секция будет отображаться в таблице.
Данные поля являются минимально обязательными для заполнения в случае, если секция является строковой. В случае, если секция является коллекционной, для добавления её в таблицу необходимо указать также:
- флаг Обязательный - по умолчанию снят. Секция является обязательной, если содержит хотя бы одно обязательное поле. Обязательность секции обеспечивает, что для данной секции будет добавлена хотя бы одна строка (при отображении секции в виде таблицы), либо хотя бы одна запись (при отображении секции в виде списка);
- переключатель Является таблицей - признак того, что в коллекционной секции содержится больше одного поля. По умолчанию включён;
- поле Колонка с целочисленным идентификатором - отображается только при выставленном флаге Является таблицей. Поле автоматически заполняется порядковым номером строки, начиная с 0. Можно выбрать только одно значение.
Если переключатель Является таблицей выключен, в поле Способ вывода списка необходимо выбрать одно из значений, определяющих формат, в котором будут выведены значения данной секции:
В строку,Маркированный список,Нумерованный список. По умолчанию выбрано значениеВ строку.
Для создания инструмента вида Получить данные необходимо заполнить следующие поля:
- Представление - в поле указывается ссылка на одно из представлений из списка по кнопке
. При этом представление при фильтрации по запросу пользователя (по вычисленным параметрам фильтрации) будет выполняться от имени текущего пользователя, т. е. недоступные пользователю данные не будут участвовать в фильтрации. - Отправлять ИИ не более строк - в поле указывается целое положительное число больше 0, которое определяет, сколько первых строк представления (с учётом сортировки в представлении) будет отправлено в ИИ для обработки данных. Таким образом, ответ ИИ будет сформирован на основе указанного количества первых строк представления, это же количество строк будет выведено в чат с пользователем. Если указано 0 строк, то этап обработки ИИ будет пропущен, в чат будут выведен только результат представления. Если не заполнено, все строки представления будут отправлены ИИ.
- Колонки представления - в поле указывается список колонок выбранного выше представления, данные из которых будут отправлены в ИИ для обработки. Аналогично предыдущему пункту, в чате с пользователем будут выведены только указанные колонки представления. Если поле не заполнено, все колонки представления участвуют в выполнении инструмента.
- Колонка с идентификатором карточки - доступно к выбору одно из значений из списка колонок выбранного представления. Необходимо для формирования кликабельных ссылок на карточки.
-
Параметры фильтрации - на основе параметров, указанных в данной таблице, моделью ИИ подбираются фильтры представления согласно запросу пользователя. Чтобы добавить запись в таблицу, необходимо указать следующие параметры:
- Название - обязательное поле. Будет передано ИИ, являясь частью общего промпта.
- Описание - данное описание будет передано ИИ для определения значения указанного параметра.
- флаг Обязательный - при выставленном флаге наличие указанного в поле параметра является обязательным для выполнения запроса пользователя, в противном случае запрос не будет выполнен с сообщением об ошибке.
- флаг Использовать механизм поиска диапазонов - при выставленном флаге система автоматически разобьёт данный параметр поиска на три параметра: “Точное значение”, “Начальное значение” и “Конечное значение”. Для каждого из значений автоматически будет добавлен промпт для корректного их заполнения из запроса пользователя. Поддерживаемые типы значений: дата, число.
- Поиск значений по справочнику - доступен к выбору один из справочников:
Подразделения,Сотрудники,Контрагенты,Состояния. В этом случае будет использована заложенная в системе функциональность для поиска нужной карточки указанного справочника по извлечённой из запроса пользователя информации. - Параметр представления - по кнопке
доступен к выбору один из параметров выбранного выше представления. Заполненный ИИ моделью данный параметр будет передан в указанный здесь параметр фильтрации представления.