AI в рабочих процессах
AI-аге нты в редакторе рабочих процессов
Обработку данных в виджетах можно объединить, настроив рабочий процесс так, чтобы операции выполнялись последовательно разными нексусами, например, загруженную аудио- или видеозапись можно сначала транскрибировать, затем перевести на нужный язык и заполнить полученными данными необходимые поля при помощи Smart Filling.
Результаты работы каждого блока можно записать в выбранное поле на форме или передать его в следующий блок при помощи скрипта.
Вы также можете добавить вложенный объект variables в объект AI, который будет сохранен в формате JSON в поле Variables формы AI Task(ain_ai_task).
Для подготовки организации рабочего процесса с участием AI, необходимо создать одного или нескольких виртуальных сотрудников — AI Employee. Для этого выполните следующее:
- Перейдите в навигаторе AI Process Management → AI Employee.
- Нажмите Создать и в открывшейся форме заполните:
- поле name, например, "Основной помощник".
- поле prompt, добавив описание контекста, например, "1. Предоставляй подробную информацию. 2. Говори прямо. 3. Никогда не упоминай, что ты помощник или искусственный интеллект."
Для более точного результата мы рекомендуем записывать контекст роли на английском языке.
- Нажмите Сохранить.
Поля действий в рабочем процессе
Поле | Обязательно | Описание | Действия |
---|---|---|---|
Наименование | Нет | Укажите наиме нование действия. Для удобства работы создавайте информативные наименования. | AI script, Generate content, Review, Enhancement, Question, Statement, Transcribe, OCR, Chat, Generate Image, Create Speech |
Script | Нет | Добавьте скрипт с объектом AI. | AI script |
AI Employee | Нет | Укажите запись сотрудника, созданную для ИИ. | Generate content, Review, Enhancement, Question, Statement |
Nexus | Да | Укажите нексус. Вы можете нексус в соответствии с поставленной задачей и выполняемым действием. Доступные типы нексусов по методам и действиям:
| Generate content, Review, Enhancement, Question, Statement, Transcribe, OCR, Chat, Generate Image, Create Speech |
Temperature | Нет | Укажите температуру – степень творчества ИИ. Доступны значения от 0 до 2. По умолчанию установлено значение 0.6. | Generate content, Review, Enhancement, Question, Statement, Chat |
Prompt | Нет | Добавьте контекст для создания текста. | Generate content, Review, Enhancement, Question, Statement, Generate Image |
Composite Prompt | Нет | Наглядное отображение архитектуры промпта, который будет отправлен. | Generate content, Review, Enhancement, Question, Statement |
Source column | Да/Нет | Укажите колонку типа Text или String, которая содержит входные данные для действия. Поле необязательно, когда установлен флажок Advanced source. | Transcribe, OCR, Chat, Create Speech |
Advanced source | Да/Нет | Установите флажок, чтобы задать входные данные через скрипт. | Transcribe, OCR, Create Speech |
Target column | Да/Нет | Укажите колонку типа Text или String, в которую будут записаны выходные данные. Поле необязательно, когда установлен флажок Advanced. | Generate content, Review, Enhancement, Question, Statement, Transcribe, OCR, Chat, Generate Image, Create Speech |
Advanced | Нет | Установите флажок, чтобы сформировать выходные данные через скрипт. | Generate content, Review, Enhancement, Question, Statement, Transcribe, OCR, Chat, Generate Image, Create Speech |
Source script | Да/Нет | Добавьте скрипт, чтобы сформировать входные данные. Поле обязательно, когда установлен флажок Advanced source. | Transcribe, OCR, Chat, Generate Image, Create Speech |
Target script | Нет | Добавьте скрипт, чтобы обработать и сформировать выходные данные. Поле обязательно, когда установлен флажок Advanced. | Generate content, Review, Enhancement, Question, Statement, Transcribe, OCR, Chat, Generate Image, Create Speech |
Max iteration | Нет | Укажите максимальное количество итераций оценки результата. | Review |
Exit prompt | Нет | Укажите контекст для выхода из этого действия. Например: Есть ли комментарии? Нужно ли что-то уточнить?. В этом случае, если комментарии есть, то текст отправляется на доработку с учетом комментариев, если нет, рабочий процесс переходит к следующему блоку. | Review |
Прикрепить результат к записи | Нет | Установите флажок, чтобы результат работы действия сохранялся во вложении к записи. | OCR, Chat, Create Speech |
Прикрепить изображения к текущей записи | Нет | Установите флажок, чтобы сохранить созданные изображения во вложениях текущей записи. | Generate Image |
Количество изображений | Нет | Укажите количество изображений, которые необходимо создать. | Generate Image |
Размер изображения | Нет | Выберите размер изображений. Доступные варианты:
| Generate Image |
Custom error handler | Нет | Установите флажок, чтобы настроить обработчик ошибки действия вручную в одноименном поле вкладки Error handling. Если флажок не установлен, при остановке действия его статус меняется на error, а рабочий процесс прерывается. Сообщение об ошибке отображается в соответствующей записи AI Step, а также в таблице Основной журнал (sys_log). | Generate content |
Custom error handler | Да | Настройте поведение рабочего процесса в случае ошибки в действии. Для этого передайте в скрипте следующие параметры: Вы можете:
| Generate content |
Пример
Скрипт ниже позволяет выявить ошибку в процессе выполнения действия до того, как она приведет к сбою, и вывести соответствующее сообщение:
((
/* SimpleRecord */
current,
/* SimpleRecord */
activity,
/* Object */
ai,
/* String */
errorMessage
) => {
ss.debug(errorMessage);
activity.state='error';
})(current, activity, ai, errorMessage)
AI-действия в редакторе рабочих процессов
В таблице AI Tasks (ain_ai_task) содержатся записи задач, соответствующие каждому запущенному рабочему процессу. В связанном списке AI Task Steps(ain_ai_task_step) отображаются действия, выполненные ИИ.
AI script
Используйте это действие для добавления объекта AI в скрипт.
Ниже представлен пример AI Script для создания артефакта с релевантными инцидентами из векторной базы данных.
Пример:
const collection = ss.getProperty('ain.relevant_incidents.collection_name');
ss.importIncludeScript('AIVector');
const vector = new AIVector(collection);
const relevantIncs = vector.search(Тема: ${current.subject} Описание: ${current.description}, 15);
ai.artefact = JSON.stringify(relevantIncs.map(el => {
return JSON.stringify({
content: el.document,
record_id: el.metadata.record_id
})
}))
Generate Content
Используйте это действие, чтобы создать ответ в текстовом формате по запросу пользователя в виджете чата в соответствии с поставленной ИИ ролью.
Review
Используйте это действие, чтобы проверить, на сколько артефакт соответствует запросу, указанному в поле exit prompt, при помощи ИИ.
Если комментарии по доработке есть, улучшение текста происходит в действии Enhancement. В качестве проверяющего выступает другой AI employee. По умолчанию проверка проходит три цикла, после чего рабочий процесс переходит к следующему действия.
Enhancement
Используйте это действие, чтобы при помощи ИИ улучшить ответ из Generate Content после комментариев, полученных на этапе Review. Исправленный по комментариям текст повторно отправляется на проверку. Как только у выбранной нейросети из действия Review не останется комментариев, проверка считается пройденной. В этом случае пользователь получает результат, а рабочий процесс переходит к следующему действию.
Question
Используйте это действие для работы с вопросами на форме таблицы AI Task (ain_task). Ответ записывается в поле Question.
Statement
Используйте это действие, чтобы использовать функциональность Smart filling в рабочем процессе.
Transcribe
Используйте это действие для транскрибирования аудио-файлов. Входными данными для действия могут стать значения полей текущей записи типа Text или String, а также скрипт, который сформирует и вернет объект с нужными значениями полей. Распознанный текст можно записать в поле текущей записи или обработать скриптом и передать в следующее действие рабочего процесса.
Пример выходных данных, когда входной файл был получен из Source column:
"1234567890" (attachment id)
{ "attachment_id": "1234567890" }
{ "file_name": "voice.mpeg", mime_type: "audio/mpeg", base64: "" }
{ "file_name": "voice.mpeg", mime_type: "audio/mpeg", url: "" }
Примеры входных данных для следующего действия, сформированных скриптом:
{ attachment_id: "1234567890" }
{ file_name: "", mime_type: "", base64: "" }
{ file_name: "", mime_type: "", url: "" }
OCR
Используйте это действие для распознавания текста. Полученный текст можно обработать скриптом или использовать для заполнения полей типа String или Text.
Поддерживаемые форматы документов: PDF, DOC, DOCX, XLSX, JPG, PNG.
Варианты входных данных, если они берутся из Source column:
"1234567890" (attachment id)
{ "attachment_id": "1234567890" }
{ "file_name": "document.png", "mime_type": "image/png", "base64": "" }
{ "file_name": "document.png", "mime_type": "image/png", "url": "" }
Варианты входных данных, если они формируются скриптом (что должен вернуть скрипт):
{ "attachment_id": "1234567890" }
{ "file_name": "document.png", "mime_type": "image/png", "base64": "" }
{ "file_name": "document.png", "mime_type": "image/png", "url": "" }
Chat
Используйте это действие для добавления чата с ИИ на форму. Для этого выберите нексус и поля для входных и выходных данных. Также выходные данные можно обработать скриптом.
Варианты входных данных для скрипта:
- Произвольная строка
- Объект формата:
{ "content": "Hello", "role": "user" }
- Массив объектов:
[{ "content": "Hello", "role": "user" }]
Generate Image
Используйте это действие, чтобы создавать необходимое количество изображений при помощи ИИ на основе введенной в поле Prompt информации. Созданные изображения можно сохранить во вложении текущей записи.
Create Speech
Используйте это действие, чтобы создать аудиофайл на основе текста. Созданный файл можно сохранить во вложении записи или передать на обработку в следующий блок. Выходные данные действия имеют следующий вид: [{ "attachment_id": "000000000" }]
.