Skip to main content
Version: 1.12.0

AI в рабочих процессах

AI-агенты в редакторе рабочих процессов

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

Результаты работы каждого блока можно записать в выбранное поле на форме или передать его в следующий блок при помощи скрипта.

Вы также можете добавить вложенный объект variables в объект ИИ, который будет сохранен в формате JSON в поле Переменные формы Задачи ИИ (ain_ai_task).

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

  1. Перейдите в навигаторе Управление процессами ИИ → ИИ-сотрудники.
  2. Нажмите Создать и в открывшейся форме заполните:
    • поле Наименование, например, "Основной помощник".
    • поле Промпт, добавив описание контекста, например, "1. Предоставляй подробную информацию. 2. Говори прямо. 3. Никогда не упоминай, что ты помощник или искусственный интеллект."
note

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

  1. Нажмите Сохранить.

Поля действий в рабочем процессе

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

ПолеОбязательноОписаниеДействия
НаименованиеНетУкажите наименование действия. Для удобства работы создавайте информативные наименования.AI script, Generate content, Review, Enhancement, Question, Statement, Transcribe, OCR, Chat, Generate Image, Create Speech
СкриптНетДобавьте скрипт с объектом AI.AI script, Generate content
ИИ-сотрудникНетУкажите запись сотрудника, созданную для ИИ.Generate content, Review, Enhancement, Question, Statement
НексусДаУкажите нексус. Вы можете нексус в соответствии с поставленной задачей и выполняемым действием. Доступные типы нексусов по методам и действиям:
  • Chat – использует метод Completion.
  • Voice – использует метод Recognition для действия Transcribe.
  • Vision – использует метод Recognition для действия OCR, а также использует метод CreateSpeech.
  • Image – использует метод Generate для действия Generate Image.
Generate content, Review, Enhancement, Question, Statement, Transcribe, OCR, Chat, Generate Image, Create Speech
ТемператураНетУкажите температуру – степень творчества ИИ. Доступны значения от 0 до 2. По умолчанию установлено значение 0.6.Generate content, Review, Enhancement, Question, Statement, Chat
ПромптДа/НетДобавьте контекст для создания текста.Generate content, Review, Enhancement, Question, Statement. Поле обязательно для: Generate Image и Create Speech.
Составной промптНетНаглядное отображение архитектуры промпта, который будет отправлен.Generate content, Review, Enhancement, Question, Statement
Исходное полеДа/НетУкажите колонку типа Text или String, которая содержит входные данные для действия. Поле необязательно, когда установлен флажок Дополнительно.Transcribe, OCR, Chat, Create Speech
Целевое полеДа/НетУкажите колонку типа Text или String, в которую будут записаны выходные данные. Поле необязательно, когда установлен флажок Дополнительно.Generate content, Review, Enhancement, Question, Statement, Transcribe, Chat, Generate Image, Create Speech, OCR.
ДополнительноНетУстановите флажок, чтобы сформировать выходные данные через скрипт.Generate content, Review, Enhancement, Question, Statement, Transcribe, OCR, Chat, Generate Image, Create Speech
Исходный скриптДа/НетДобавьте скрипт, чтобы сформировать входные данные. Поле обязательно, когда установлен флажок Дополнительно.Transcribe, OCR, Chat, Generate Image, Create Speech
Целевой скриптНетДобавьте скрипт, чтобы обработать и сформировать выходные данные. Поле обязательно, когда установлен флажок Дополнительно.Generate content, Review, Enhancement, Question, Statement, Transcribe, OCR, Chat, Generate Image, Create Speech
Максимальное число итерацийНетУкажите максимальное количество итераций оценки результата.Review
Прикрепить результат к записиНетУстановите флажок, чтобы результат работы действия сохранялся во вложении к записи.OCR, Chat, Create Speech
Прикрепить изображения к текущей записиНетУстановите флажок, чтобы сохранить созданные изображения во вложениях текущей записи.Generate Image
Количество изображенийНетУкажите количество изображений, которые необходимо создать.Generate Image
Размер изображенияНетВыберите размер изображений. Доступные варианты:
  • 256x256
  • 512x512
  • 1024x1024
  • 1024x1792
  • 1792x1024
Generate Image
Пользовательский обработчик ошибокНетУстановите флажок, чтобы настроить обработчик ошибки действия вручную в одноименном поле вкладки Пользовательский обработчик ошибок.Если флажок не установлен, при остановке действия его статус меняется на Ошибка, а рабочий процесс прерывается. Сообщение об ошибке отображается в соответствующей записи Задачи ИИ, а также в таблице Основной журнал (sys_log).Generate content
Пользовательский обработчик ошибокДа

Настройте поведение рабочего процесса в случае ошибки в действии. Для этого передайте в скрипте следующие параметры: current, activity, ai и ErrorMessage, где errorMessage содержит текст ошибки, который будет отображен в поле Результат.

Вы можете:

  • прервать выполнение рабочего процесса. Для этого добавьте в скрипт проверку статуса.
  • продолжить выполнение процесса, игнорируя ошибки. В этом случае проверку статуса необходимо исключить.

Поле появляется во вкладке Пользовательский обработчик ошибок, если отмечен флажок Пользовательский обработчик ошибок.
Generate content
run_as_userНетУкажите ID пользователя, от лица которого будет выполнено действие. Значение этого поля можно задать только при помощи скрипта в полях Скрипт, Исходный скрипт и Целевой скрипт. Смотрите Примеры скриптов.Все

ИИ-действия в редакторе рабочих процессов

В таблице Задачи ИИ (ain_ai_task) содержатся записи задач, соответствующие каждому запущенному рабочему процессу. В связанном списке Этапы задач ИИ(ain_ai_task_step) отображаются действия, выполненные ИИ.

AI script


Используйте это действие для добавления объекта ИИ в скрипт.

Ниже представлен пример AI Script для создания артефакта с релевантными инцидентами из векторной базы данных.

Пример:

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


Используйте это действие, чтобы проверить, на сколько артефакт соответствует запросу, указанному в поле Контрольный запрос, при помощи ИИ.

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

Enhancement


Используйте это действие, чтобы при помощи ИИ улучшить ответ из Generate Content после комментариев, полученных на этапе Review. Исправленный по комментариям текст повторно отправляется на проверку. Как только у выбранной нейросети из действия Review не останется комментариев, проверка считается пройденной. В этом случае пользователь получает результат, а рабочий процесс переходит к следующему действию.

Question


Используйте это действие для работы с вопросами на форме таблицы Задачи ИИ (ain_ai_task). Ответ записывается в поле Комментарий/Вопрос.

Statement


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

Transcribe


Используйте это действие для транскрибирования аудио-файлов. Входными данными для действия могут стать значения полей текущей записи типа Text или String, а также скрипт, который сформирует и вернет объект с нужными значениями полей. Распознанный текст можно записать в поле текущей записи или обработать скриптом и передать в следующее действие рабочего процесса.

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

"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.

caution

Поле Целевое поле обязательно для заполнения.

Поддерживаемые форматы документов: PDF, DOC, DOCX, XLSX, JPG, PNG.

Варианты входных данных, если они берутся из Исходное поле:

"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


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

caution

Поле Промпт обязательно для заполнения.

Create Speech


Используйте это действие, чтобы создать аудиофайл на основе текста. Созданный файл можно сохранить во вложении записи или передать на обработку в следующий блок. Выходные данные действия имеют следующий вид: [{ "attachment_id": "000000000" }].

caution

Поле Промпт обязательно для заполнения.

Примеры скриптов

note

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

Запуск выполнения блока от имени, указанного в атрибуте run_as_user

run_as_user
const prompt = {
content: 'Привет',
role: 'user'
}
ai.run_as_user = 'Рома'
return prompt;


// Результат:

{
"id": "175135869124773808",
"nexus": "ain.phi4.chat_completions",
"data": {
"messages": [
{
"content": "Привет",
"role": "user"
}
]
},
"username": "Рома",
"tags": "Workflow:Intro"
}

Выявление ошибки в процессе выполнения действия до того, как она приведет к сбою

Custom error handler
((
/* SimpleRecord */
current,
/* SimpleRecord */
activity,
/* Object */
ai,
/* String */
errorMessage
) => {
ss.debug(errorMessage);
activity.state='error';

})(current, activity, ai, errorMessage)