Поделиться через


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

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

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

Предпосылки

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

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

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

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

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

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

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

Дополнительные сведения см. в разделе о оркестрации рабочих процессов 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.

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

  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.

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

Имя. Description
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, можно ввести литеральные значения. Чтобы использовать литеральное значение в формуле, необходимо ввести его в формате, соответствующем типу.

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

Тип Примеры форматирования
String "hi", "hello world!", "copilot"
Boolean Только true или false
Number 1, 5325.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
String Текстовая функция
Функции Конкат и Конкатенация
Функция Len
Нижние, верхние и правильные функции
Функции IsMatch, Match и MatchAll
Функции EndsWith и StartsWith
Функция поиска
Функции замены и подстановки
Boolean Булева функция
Функции И, ИЛИ и НЕ
Функции If и Switch
Number Функции "Десятичное число", "Число с плавающей запятой" и "Значение"
Функции Int, Round, RoundDown, RoundUp и Усечение
Запись и таблица Функции Конкат и Конкатенация
Функции Count, CountA, CountIf и CountRows
Функция ForAll
Функции First, FirstN, Index, Last и LastN
Функции "Фильтрация", "Поиск" и "Нахождение"
Функция JSON
Функция ParseJSON
Дата и время Функции даты, времени и дата-время
Функции DateValue, TimeValue и DateTimeValue
Функции Day, Month, Year, Hour, Minute, Second и Weekday
Теперь, сегодня, 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. в поле Condition для создания условия для каждой ветви if/else.

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

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

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

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

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

Очистите ресурсы

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

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