AI в рабочих процессах
AI-агенты в редакторе рабочих процессов
Обработку данных в виджетах можно объединить, настроив рабочий процесс так, чтобы операции выполнялись последовательно разными нексусами, например, загруженную аудио- или видеозапись можно сначала транскрибировать, затем перевести на нужный язык и заполнить полученными данными необходимые поля при помощи механизма умного заполнения.
Результаты работы каждого блока можно записать в выбранное поле на форме или передать его в следующий блок при помощи скрипта.
Вы также можете добавить вложенный объект variables в объект ИИ, который будет сохранен в формате JSON в поле Переменные формы Задачи ИИ (ain_ai_task).
Для подготовки организации рабочего процесса с участием AI, необходимо создать одного или нескольких виртуальных ИИ-сотрудников. Для этого выполните следующее:
- Перейдите в навигаторе Управление процессами ИИ → ИИ-сотрудники.
- Нажмите Создать и в открывшейся форме заполните:
- поле Наименование, например, "Основной помощник".
- поле Промпт, добавив описание контекста, например, "1. Предоставляй подробную информацию. 2. Говори прямо. 3. Никогда не упоминай, что ты помощник или искусственный интеллект."
Для более точного результата мы рекомендуем записывать контекст роли на английском языке.
- Нажмите Сохранить.
Поля действий в рабочем процессе
Обязательность полей не ограничивается настройками каждого действия. Заполняйте все поля, необходимые для корректного выполнения вашего рабочего процесса.
Поле | Обязательно | Описание | Действия |
---|---|---|---|
Наименование | Нет | Укажите наименование действия. Для удобства работы создавайте информативные наименования. | 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 |
Нексус | Да | Укажите нексус. Вы можете нексус в соответствии с поставленной задачей и выполняемым действием. Доступные типы нексусов по методам и действиям:
| 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 |
Размер изображения | Нет | Выберите размер изображений. Доступные варианты:
| Generate Image |
Пользовательский обработчик ошибок | Нет | Установите флажок, чтобы настроить обработчик ошибки действия вручную в одноименном поле вкладки Пользовательский обработчик ошибок.Если флажок не установлен, при остановке действия его статус меняется на Ошибка, а рабочий процесс прерывается. Сообщение об ошибке отображается в соответствующей записи Задачи ИИ, а также в таблице Основной журнал (sys_log). | Generate content |
Пользовательский обработчик ошибок | Да | Настройте поведение рабочего процесса в случае ошибки в действии. Для этого передайте в скрипте следующие параметры: Вы можете:
| Generate content |
run_as_user | Нет | Укажите ID пользователя, от лица которого будет выполнено действие. Значение этого поля можно задать только при помощи скрипта в полях Скрипт, Исходный скрипт и Целевой скрипт. Смотрите Примеры скриптов. | Все |
ИИ-действия в редакторе рабочих процессов
В таблице Задачи ИИ (ain_ai_task) содержатся записи задач, соответствующие каждому запущенному рабочему процессу. В связанном списке Этапы задач ИИ(ain_ai_task_step) отображаются действия, выполненные ИИ.
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.
Поле Целевое поле обязательно для заполнения.
Поддерживаемые форматы документов: 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
Используйте это действие, чтобы создавать необходимое количество изображений при помощи ИИ на основе введенной в поле Промпт информации. Созданные изображения можно сохранить во вложении текущей записи.
Поле Промпт обязательно для заполнения.
Create Speech
Используйте это действие, чтобы создать аудио файл на основе текста. Созданный файл можно сохранить во вложении записи или передать на обработку в следующий блок. Выходные данные действия имеют следующий вид: [{ "attachment_id": "000000000" }]
.
Поле Промпт обязательно для заполнения.
Примеры скриптов
По умолчанию к возвращаемому значению действия добавляется атрибут tag
, который содержит название рабочего процесса, в рамках которого это действие выполнялось.
Запуск выполнения блока от имени, указанного в атрибуте 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"
}