Как начать работать с Workflows

Примечание

Workflows находится на стадии Preview.

Примечание

На данный момент Workflows поддерживается в двух интерфейсах — Yandex Cloud и Yandex AI Studio. При этом:

  • рабочие процессы, созданные в интерфейсе Yandex Cloud, автоматически доступны в интерфейсе AI Studio;
  • рабочие процессы, созданные в интерфейсе AI Studio, недоступны в интерфейсе Yandex Cloud.

С 4 сентября 2026 года Workflows перестанет поддерживаться в интерфейсе Yandex Cloud. Для создания рабочих процессов и управления ими используйте интерфейс AI Studio.

С помощью этой инструкции вы создадите рабочий процесс и запустите его. Во время выполнения рабочего процесса будут вызываться функции Yandex Cloud Functions.

Подготовьте облако к работе

AI Studio использует ресурсную модель Yandex Cloud: большинство сервисов хранит ресурсы в каталогах. Каталоги принадлежат облакам, а облака — организациям. Каталог потребуется и для работы с AI Studio.

  1. Войдите в AI Studio, используя личный аккаунт на Яндексе (Яндекс ID). Подробную инструкцию, как создать такой аккаунт, смотрите в Справке Яндекс ID.

  2. Создайте организацию:

    • Введите название организации.
    • Укажите название облака — оно будет использоваться для всех ресурсов Yandex Cloud.
    • Нажмите Открыть AI Studio.

    В организации будет автоматически создан новый каталог с именем default.

Привяжите платежный аккаунт

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

  1. После авторизации в AI Studio нажмите кнопку Привязать платежный аккаунт в правом верхнем углу интерфейса.

  2. Создайте платежный аккаунт или выберите существующий.

    • Нажмите кнопку Добавить карту.
    • Укажите данные карты: 16-значный номер, срок действия, код CVV (с обратной стороны карты).
    • Нажмите кнопку Привязать.
  3. Убедитесь, что платежный аккаунт имеет статус ACTIVE или TRIAL_ACTIVE.

Создайте сервисный аккаунт

  1. В консоли управления выберите каталог, в котором будет создан сервисный аккаунт.
  2. Перейдите в сервис Identity and Access Management.
  3. Нажмите кнопку Создать сервисный аккаунт.
  4. Введите имя сервисного аккаунта: sa-for-function.
  5. Нажмите кнопку Добавить роль и выберите роль functions.functionInvoker.
  6. Нажмите кнопку Создать.

Создайте функцию, которая фильтрует данные

  1. В консоли управления выберите каталог, в котором будет создана функция.
  2. Перейдите в сервис Cloud Functions.
  3. Создайте функцию:
    1. В правом верхнем углу нажмите кнопку Создать функцию.
    2. Введите имя функции: filter-function.
    3. Нажмите кнопку Создать.
  4. Создайте версию функции:
    1. В открывшемся окне Редактор выберите Node.js 22.
    2. Отключите опцию Добавить файлы с примерами кода.
    3. Нажмите кнопку Продолжить.
    4. Создайте файл index.js и добавьте в него следующий код:
      module.exports.handler = async function (data, context) {
          return {
              id: data.id,
              name: data.name,
              email: data.email,
          };
      };
      
    5. В блоке Параметры укажите в поле:
      • Точка входаindex.handler;
      • Сервисный аккаунтsa-for-function.
    6. Нажмите кнопку Сохранить изменения.

Создайте функцию, которая возвращает электронные адреса

  1. В консоли управления выберите каталог, в котором будет создана функция.
  2. Перейдите в сервис Cloud Functions.
  3. Создайте функцию:
    1. В правом верхнем углу нажмите кнопку Создать функцию.
    2. Введите имя функции: return-function.
    3. Нажмите кнопку Создать.
  4. Создайте версию функции:
    1. В открывшемся окне Редактор выберите Node.js 22.
    2. Отключите опцию Добавить файлы с примерами кода.
    3. Нажмите кнопку Продолжить.
    4. Создайте файл index.js и добавьте в него следующий код:
      module.exports.handler = async function (data, context) {
          return {
              result: "OK",
              emails: data.loaded_users.map(p => p.email)
          };
      };
      
    5. В блоке Параметры укажите в поле:
      • Точка входаindex.handler;
      • Сервисный аккаунтsa-for-function.
    6. Нажмите кнопку Сохранить изменения.

Создайте рабочий процесс

  1. В интерфейсе AI Studio выберите каталог, в котором будет создан рабочий процесс.

  2. На панели слева разверните раздел Agent Atelier и выберите Workflows.

  3. Нажмите Создать рабочий процесс.

  4. Выберите способ YaML-спецификация.

  5. Добавьте спецификацию, которая приведена ниже. Укажите в поле functionId:

    • на 39 строке в шаге process_user_transform_info — идентификатор функции filter-function;
    • на 44 строке в шаге upload_users — идентификатор функции return-function.
    yawl: "0.1"
    start: get_users
    defaultRetryPolicy:
      maxDelay: 10s
      retryCount: 2
      errorList:
        - STEP_QUOTA_EXCEEDED
    steps:
      get_users:
        httpCall:
          url: 'https://jsonplaceholder.typicode.com/{{ .resource_type }}'
          method: GET
          headers: {}
          query: {}
          output: '{{ {loaded_users: .} }}'
          next: process_users
      process_users:
        foreach:
          input: {{ .loaded_users }}
          output: '{{ {loaded_users: .} }}'
          next: upload_users
          do:
            start: process_user_get_info
            steps:
              process_user_get_info:
                httpCall:
                  url: https://jsonplaceholder.typicode.com/users/{{ .id }}
                  method: GET
                  headers: {}
                  query: {}
                  next: process_user_transform_info
                  output: '{{ {user: .} }}'
                  retryPolicy:
                    retryCount: 2
                    errorList:
                      - HTTP_CALL_500
              process_user_transform_info:
                functionCall:
                  functionId: <идентификатор_функции>
      upload_users:
        functionCall:
          functionId: "<идентификатор_функции>"
          input: '{{ {loaded_users, resource_type} }}'
    
  6. Нажмите Дополнительные параметры и в поле Сервисный аккаунт выберите сервисный аккаунт sa-for-function.

  7. Нажмите Создать.

Запустите рабочий процесс

  1. Выберите рабочий процесс.

  2. Нажмите Запустить.

  3. Введите входные данные в формате JSON и нажмите кнопку Запустить.

    Входные данные в формате JSON:

    {
      "resource_type": "users"
    }
    
  4. Когда статус рабочего процесса изменится с Выполняется на Выполнен, в блоке Данные на выходе появится результат в формате JSON:

    {
      "result": "OK",
      "emails": [
        "Sincere@april.biz",
        "Shanna@melissa.tv",
        "Nathan@yesenia.net",
        "Julianne.OConner@kory.org",
        "Lucio_Hettinger@annie.ca",
        "Karley_Dach@jasper.info",
        "Telly.Hoeger@billy.biz",
        "Sherwood@rosamond.me",
        "Chaim_McDermott@dana.io",
        "Rey.Padberg@karina.biz"
      ]
    }
    

Что дальше

Предыдущая
Следующая