Создание рабочего процесса в Microsoft Foundry

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

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

Необходимые условия

Решите, когда следует использовать рабочие процессы

Рабочие процессы идеально подходят для сценариев, в которых необходимо:

  • Организуйте работу нескольких агентов в повторяемом процессе.
  • Добавьте логику ветвления (например, if/else) и обработку переменных без написания кода.
  • Процессы с участием человека (например, утверждение или уточняющие вопросы).

Если вы хотите изменить YAML рабочего процесса в Visual Studio Code или запустить рабочие процессы на локальной площадке, см. следующие сведения:

Общие сведения о шаблонах рабочих процессов

Foundry предоставляет шаблоны для распространенных шаблонов оркестрации. Начните с пустого рабочего процесса или выберите шаблон:

Узор Описание Типичный вариант использования
Человек в контуре управления Задает пользователю вопрос и ожидает ответа, чтобы продолжить. Создание запросов на утверждение во время выполнения рабочего процесса и ожидание утверждения человека или получение сведений от пользователя
Последовательный Передает результат от одного агента к следующему в определенном порядке Пошаговые рабочие процессы, конвейеры или многоэтапная обработка
Групповый чат Динамически передает управление между агентами на основе контекста или правил Динамические рабочие процессы, эскалация, резервный вариант или сценарии передачи экспертов

Дополнительные сведения см. в разделе оркестрации рабочих процессов Microsoft Agent Framework.

Создание рабочего процесса

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

  1. Войдите в Microsoft Foundry. Убедитесь, что переключатель New Foundry включен. Эти действия относятся к Foundry (new).

  2. В правом верхнем меню выберите Сборка.

  3. Выберите "Создать рабочий процесс>последовательно".

  4. Назначьте агента на узлы агента, выбрав каждый узел в рабочем процессе и выбирая желаемого агента или создавая нового. Дополнительные сведения см. в разделе "Добавление агентов " далее в этой статье.

  5. Нажмите кнопку "Сохранить " в визуализаторе, чтобы сохранить изменения.

    Важно

    Foundry не сохраняет рабочие процессы автоматически. Нажмите кнопку "Сохранить " после каждого изменения, чтобы сохранить работу.

  6. Выберите "Запустить рабочий процесс".

  7. Взаимодействие с рабочим процессом в окне чата.

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

Проверьте выполнение рабочего процесса

После выбора запуска рабочего процесса убедитесь, что:

  • Каждый узел завершается в визуализаторе.
  • Ожидаемые ответы отображаются в окне чата.
  • Все сохраненные переменные (например, выходные данные JSON из узла агента) содержат ожидаемые значения.

Добавление узлов

Узлы — это стандартные блоки рабочего процесса. Каждый узел выполняет определенное действие в последовательности.

К общим типам узлов относятся:

  • Агент: вызов агента.
  • Логика: используйте if/else, goto или для каждого.
  • Преобразование данных: установите переменную или разберите значение.
  • Базовый чат: отправьте сообщение или задайте вопрос агенту.

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

Добавление агентов

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

Дополнительные параметры создания агента см. на вкладке "Агент Foundry" на портале Foundry.

Примечание

Размещенные агенты не поддерживаются в конструкторе рабочих процессов. Для координации задач вызовите другие агенты или оркестрируйте рабочие процессы в размещенном агенте, используйте рабочие процессы Microsoft Agent Framework или другую платформу агента, которая поддерживает возможности рабочего процесса из размещенного кода агента.

Добавление существующего агента

  1. В визуализаторе рабочего процесса выберите знак плюса.

  2. В раскрывающемся списке всплывающего окна выберите агент Invoke.

  3. В окне создания агента выберите существующий.

  4. Введите имя агента для поиска существующих агентов в проекте Foundry.

  5. Выберите нужный агент, чтобы добавить его в рабочий процесс.

Создание агента

  1. В визуализаторе рабочего процесса выберите знак плюса.

  2. В раскрывающемся списке всплывающего окна выберите агент Invoke.

  3. Введите имя агента и описание того, что делает агент.

  4. Нажмите кнопку "Добавить".

  5. В окне вызова агента настройте агент.

  6. Нажмите кнопку "Сохранить".

Настройка формата выходного ответа

Чтобы настроить агент для возврата структурированных выходных данных JSON:

  1. В окне конфигурации агента Invoke выберите "Создать новый агент".

  2. Настройте агент для отправки выходных данных в виде схемы JSON:

    1. Выберите сведения.
    2. Выберите значок параметра.
    3. В текстовом формате выберите схему JSON.

    Снимок экрана: окно настройки формата схемы JSON для выходных данных.

  3. Скопируйте нужную схему JSON и вставьте ее в окно "Добавить формат ответа ". На следующем снимка экрана показан математический пример. Нажмите кнопку "Сохранить".

    Снимок экрана: добавление формата ответа в ФОРМАТЕ JSON.

Важно

Не включать секреты (пароли, ключи, маркеры) в схемы JSON, запросы или сохраненные переменные рабочего процесса.

{
  "name": "math_response",
  "schema": {
    "type": "object",
    "properties": {
      "steps": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "explanation": {
              "type": "string"
            },
            "output": {
              "type": "string"
            }
          },
          "required": [
            "explanation",
            "output"
          ],
          "additionalProperties": false
        }
      },
      "final_answer": {
        "type": "string"
      }
    },
    "additionalProperties": false,
    "required": [
      "steps",
      "final_answer"
    ]
  },
  "strict": true
}
  1. Выберите параметры действия. Затем выберите Сохранить выходные данные в формате json_object/json_schema как.

  2. Выберите "Создать новую переменную". Выберите имя переменной и нажмите кнопку "Готово".

    Скриншот, демонстрирующий опции для создания новой переменной в рабочем процессе Microsoft Foundry.

Настройка дополнительных функций

  • Представление визуализатора YAML: установите переключатель представления визуализатора YAML в значение On , чтобы сохранить рабочий процесс в виде YAML-файла. Измените визуализатор или представление YAML. Сохранение создает новую версию с полной историей изменений.

    Визуализатор и YAML доступны для редактирования. Изменения в YAML-файле отображаются сразу же в визуализаторе.

  • Управление версиями. Каждое сохранение создает новую, неизменяемую версию. Чтобы просмотреть журнал версий или удалить старые версии, откройте раскрывающийся список версий слева от кнопки "Сохранить ".

  • Заметки. Добавление заметок в визуализатор рабочего процесса для дополнительного контекста. В левом верхнем углу визуализатора нажмите кнопку "Добавить заметку".

Создание выражений с помощью Power Fx

Power Fx — это язык с низким кодом, использующий Excel-подобные формулы. Используйте Power Fx для создания сложной логики, которая позволяет агентам управлять данными. Например, формула Power Fx может задать значение переменной, проанализировать строку или оценить условие. Дополнительные сведения см. в обзоре и справочнике по формулеPower Fx.

Использование переменных в формуле

Чтобы использовать переменную в формуле Power Fx, необходимо добавить префикс в его имя, чтобы указать область переменной:

  • Для системных переменных используйте System.
  • Для локальных переменных используйте Local.

Ниже приведены системные переменные:

Имя Описание
Activity Сведения о текущем действии
Bot Сведения об агенте
Conversation Сведения о текущей беседе
Conversation.Id Уникальный идентификатор текущей беседы
Conversation.LocalTimeZone Часовой пояс пользователя в формате базы данных часового пояса IANA
Conversation.LocalTimeZoneOffset Смещение времени от UTC для текущего местного времени
Conversation.InTestMode Логический флаг, представляющий, происходит ли беседа на тестовом холсте
ConversationId Уникальный идентификатор текущей беседы
InternalId Внутренний идентификатор системы
LastMessage Сведения о предыдущем сообщении, отправленное пользователем
LastMessage.Id Идентификатор предыдущего сообщения, отправленного пользователем
LastMessage.Text Предыдущее сообщение, отправленное пользователем
LastMessageId Идентификатор предыдущего сообщения, отправленного пользователем
LastMessageText Предыдущее сообщение, отправленное пользователем
Recognizer Сведения о распознавании намерений и срабатывании сообщения
User Сведения о пользователе, который в настоящее время разговаривает с агентом
User.Language Настройки локали пользователя для беседы
UserLanguage Настройки локали пользователя для беседы

Использование литеральных значений в формуле

Помимо использования переменных в формуле Power Fx, можно ввести литеральные значения. Чтобы использовать литеральное значение в формуле, необходимо ввести его в формате, соответствующем типу.

В следующей таблице перечислены типы данных и формат соответствующих литеральных значений:

Тип Примеры форматирования
Строка "hi" "hello world!" "copilot"
Логических Только true или false
Номер 1 532 5.258 -9201
Запись и таблица [1], [45, 8, 2], ["cats", "dogs"], { id: 1 }, { message: "hello" }, { name: "John", info: { age: 25, weight: 175 } }
Дата и время Time(5,0,23) Date(2022,5,24) DateTimeValue("May 10, 2022 5:00:00 PM")
Выбор Не поддерживается
Пустой Только Blank()

Часто используемые формулы Power Fx

В следующей таблице перечислены формулы Power Fx, которые можно использовать с каждым типом данных.

Тип Формулы Power Fx
Строка Текстовая функция
Функция Concat и функция Concatenate
Функция Len
Нижние, верхние и правильные функции
Функции IsMatch, Match и MatchAll
Функции EndsWith и StartsWith
Функция поиска
Функция замены и подстановки
Логических Булева функция
И, или, а не функции
Функции If и Switch
Номер Функции "Дробное число", "Float" и "Значение"
Функции Int, Round, RoundDown, RoundUp и Trunc
Запись и таблица Функция Concat и функция Concatenate
Функции Count, CountA, CountIf и CountRows
Функция ForAll
Функции First, FirstN, Index, Last и LastN
Функции "Фильтрация", "Поиск" и "Найти"
Функция JSON
Функция ParseJSON
Дата и время Функции даты, даты и времени
Функции DateValue, TimeValue и DateTimeValue
Функции День, Месяц, Год, Час, Минута, Секунда и День недели
Теперь, сегодня, IsToday, UTCNow, UTCToday, Функции IsUTCToday
Функции DateAdd, DateDiff и TimeZoneOffset
Текстовая функция
Пустой Функции Blank, Coalesce, IsBlank и IsEmpty
Ошибка, IfError, IsError, Функции IsBlankOrError

Настройка переменной с помощью Power Fx

В этом примере показано, как хранить и выводить имя клиента в буквах заглавной буквы:

  1. Создайте процесс работы и добавьте узел Задать вопрос.

  2. На появившейся панели в поле "Задать вопрос " введите имя или другое сообщение. В поле "Сохранить ответ пользователя как" введите имя переменной; например, Var01. Затем нажмите кнопку "Готово".

    Снимок экрана: настройка вопроса для отправки сообщения.

  3. Добавьте действие отправки сообщения . В появившейся области введите в поле {Upper(Local.Var01)}". Затем нажмите кнопку "Готово".

    Снимок экрана: экземпляр переменной для действия отправки сообщения.

  4. Выберите "Предварительный просмотр".

  5. В области предварительного просмотра отправьте агенту сообщение, чтобы вызвать рабочий процесс.

    Снимок экрана: предварительный просмотр вопроса для действия отправки сообщения.

Создание потоков if/else с помощью Power Fx

В этом примере показано, как добавить поток if/else и создать условие с помощью системных переменных.

  1. Создайте процесс работы и добавьте узел Задать вопрос.

  2. + Выберите значок и добавьте поток if/else.

  3. Введите System. в поле Условие, чтобы построить инструкцию условия для каждого if/else ветвления.

    Снимок экрана: системные переменные в текстовом поле условия if-else.

  4. Выберите следующее действие в рабочем процессе.

  5. Нажмите кнопку "Готово". Нажмите кнопку "Сохранить", чтобы сохранить рабочий процесс.

Устранение неполадок

Проблема Решение
Параметр "Рабочие процессы" не отображается или не может создавать и изменять рабочие процессы Убедитесь, что у вас есть роль участника или выше в проекте. См. Управление доступом Azure на основе ролей (RBAC) в Foundry.
Изменения не отображаются после редактирования Выберите "Сохранить " в визуализаторе. Foundry не сохраняет изменения автоматически.
Выполнение рабочего процесса создает непредвиденные выходные данные Проверьте, чтобы каждому узлу агента был назначен агент. Убедитесь, что сохраненные выходные данные (схема JSON) допустимы.
Ошибка формулы Power Fx: "Имя недопустимо" Добавьте правильный префикс области. Используется System. для системных переменных и Local. для локальных переменных.
Ошибка формулы Power Fx: "Несоответствие типов" Убедитесь, что тип переменной соответствует ожидаемым входным данным. Используйте функции преобразования, например Text() или Value() при необходимости.
Время тайм-аута рабочего процесса Разорвать сложные рабочие процессы на небольшие сегменты. Убедитесь, что внешние службы отвечают в ожидаемые сроки.

Очистка ресурсов

Чтобы удалить рабочий процесс, вам больше не потребуется:

  1. Откройте рабочий процесс на портале Foundry.
  2. Выберите раскрывающийся список версий слева от кнопки "Сохранить ".
  3. Выберите "Удалить " для версии, которую вы хотите удалить.