Как Copilot для Microsoft 365 решает, какой подключаемый модуль следует использовать

Microsoft Copilot для Microsoft 365 — это ваш личный помощник для работы. Он помогает в выполнении различных общих задач, таких как написание, обобщение, исследование и многое другое. Copilot имеет различные навыки , которые соответствуют этим разным типам задач. Например, Copilot может суммировать действия из собрания, предлагать изменения в файле или отслеживать ресурсы и экспертов по заданной теме в организации. Каждый навык имеет собственные параметры и выходные данные, адаптированные к конкретной задаче.

Как и любой другой copilot, Copilot для Microsoft 365 обучается с данными в определенный момент времени. Для получения и обработки новых сведений в режиме реального времени, особенно данных, относящихся к вашей организации и рабочим процессам, Copilot требует подключаемых модулей. Подключаемые модули расширяют навыки и служебную программу Copilot для Microsoft 365 для конечных пользователей, позволяя ему выбрать нужный навык из тысяч.

Но как Copilot узнать, какой навык следует использовать, когда вы просите о помощи? Как он интерпретирует ваш запрос и сопоставляет его с лучшим доступным навыком? Это работа оркестратора Copilot для Microsoft 365.

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

Важно!

  • Подключаемые модули для Microsoft Copilot для Microsoft 365 доступны в общедоступной предварительной версии и работают только в Microsoft 365 Chat в Microsoft Teams.
  • Эта возможность включена по умолчанию во всех лицензированных клиентах Microsoft 365 Copilot. Администраторы могут отключить эту функцию на уровне пользователей и групп, а также контролировать, как отдельные подключаемые модули утверждаются для использования и какие подключаемые модули включены. Дополнительные сведения см. в статье Управление подключаемыми модулями для Copilot в интегрированных приложениях.

Оркестратор Copilot

Между вводом естественного языка конечного пользователя в выходные данные естественного языка Copilot оркестратор Microsoft Copilot работает в фоновом режиме, чтобы выбрать и выполнить нужные навыки из правильных подключаемых модулей для заданной задачи конечного пользователя.

Уровень оркестрации представляет собой интерфейс между базовыми LLM и множеством способов расширения, обогащения и настройки Copilot в соответствии с работой ваших клиентов.

Схема стека технологий Microsoft Copilot. Снизу вверх: Microsoft Cloud, инфраструктура ИИ, ваши данные, базовые модели, оркестрация ИИ, Microsoft Copilots | Ваши копилоты, библиотека ИИ Teams, соединители Graph, расширяемость подключаемого модуля

На следующей диаграмме показано, как оркестратор Copilot для Microsoft 365 выбирает правильный подключаемый модуль с нужным навыком в нужное время, даже если есть тысячи вариантов выбора.

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

  1. Входные данные на естественном языке

    Пользователь вводит запрос на copilot через чат Microsoft 365.

  2. Поиск соответствующих средств

    Оркестратор Copilot ищет в каталоге инструментов установленных и включенных подключаемых модулей начальный список соответствующих навыков.

  3. Рассуждение

    Copilot опирается на объединенные знания о своем LLM и ваших организационных данных из Microsoft Graph для анализа запроса и определения контекста пользователя. Затем запрос пользователя разбивается на намерения или цели. Затем каждая цель разбивается на задачи.

  4. Сопоставление намерения пользователя со слотами

    Оркестратор сопоставляет задачи пользователя с навыками подключаемого модуля и (или) встроенными функциями навыков Copilot, сопоставляя неявные ограничения из запроса пользователя с слотами (значениями параметров), необходимыми для выполнения каждого из определенных навыков.

  5. Средство "Выполнить"

    Copilot и его подключаемые модули вызываются для выполнения выбранных навыков.

  6. Создание сводки

    Copilot объединяет, фильтрует или ранжирует ответы от разных помощников и создает один ответ для пользователя.

  7. Выходные данные естественного языка

    Наконец, Copilot доставляет ответ пользователю и обновляет состояние беседы. Copilot готов к следующему запросу.

Если вы представляете, что запрос пользователя к Copilot похож на строительный проект, то оркестратор Copilot является генеральным подрядчиком, который координирует и организует работу специализированных субподрядчиков, ваших подключаемых модулей. Как и генеральный подрядчик, оркестратор отвечает за то, чтобы проект был "завершен" в соответствии со спецификациями, подразумеваемыми входными данными пользователя (иными словами, ответ Copilot удовлетворяет намерению пользователя в его запросе).

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

Оптимизация поиска подключаемого модуля

Copilot для Microsoft 365 может уникально выбрать нужный навык из тысяч. Но как вы можете убедиться, что Copilot выберет ваш подключаемый модуль , чтобы обеспечить правильный навык?

Ответ заключается в том, как вы описываете подключаемый модуль, его навыки и параметры для выполнения навыка. Указание кратких и точных описаний в манифесте подключаемого модуля имеет решающее значение для обеспечения того, чтобы Copilot знал, когда и как вызывать подключаемый модуль.

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

Описания подключаемого модуля

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

Длинные и короткие описания приложений в манифесте приложения должны четко определять область приложения. Чтобы отрисовка приложения в качестве подключаемого модуля в Copilot, описание приложения должно быть изменено в соответствии со следующими требованиями подключаемого модуля:

  • Подробное описание приложения должно четко объяснить, как пользователи могут использовать подключаемый модуль расширения сообщений в Copilot и какие функции они могут ожидать. Например, используйте облако Contoso в Copilot для поиска и подведения итогов по задачам.
  • Краткое описание должно кратко описывать функциональные возможности приложения на естественном языке и включать имя приложения.

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

Описание: создание, поиск, просмотр билетов, ошибок и проектов.

Пример описания приложения:

{
  "$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.16/MicrosoftTeams.schema.json",
  "version": "1.0.0",
  "manifestVersion": "1.16",
  "id": "2bxxxxc5-5xxx-4xxx-aXXX-94xxxx8919e5",
  "name": {
    "short": "Tasks",
    "full": "Contoso Tasks"
  },
  "description": {
    "short": "Create, search, view tickets, bugs, and projects",
    "full": "Contoso Tasks makes it easy to stay organized. Create, assign, and track tasks individually or collaboratively with your team, and see everything come together in one place."
  },

Описания навыков

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

В настоящее время поддержка подключаемого модуля расширения сообщений Teams ограничена командами поиска, с поддержкой команд действий в ближайшее время.

Описания навыков поиска должны:

  • Сосредоточьтесь на том, что и как команда выполняет поиск (подробный список) на естественном языке.
  • Если применимо, включите глаголы и синонимы.
  • Сосредоточьтесь на ключевых словах, которые, скорее всего, будут использоваться в функции поиска собственных приложений.

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

Описание. Найдите высокоприоритетные задачи, связанные с Northwind, которые должны быть запланированы завтра.

Пример описания команды:

"commands": [
        {
          "id": "Search",
          "type": "query",
          "title": "Tasks",
          "description": "Search for high priority tasks related to Northwind that are due tomorrow.",
          "initialRun": true,
          "fetchTask": false,
          "context": [
            "commandBox",
            "compose",
            "message"
          ],

Описания параметров

Хорошее описание параметра объясняет, что такое параметр, а не его действие и ожидаемый формат.

При использовании непосредственно в чате Microsoft Teams и outlook mail compose можно использовать расширение сообщений для запроса одного параметра за раз. При использовании в качестве подключаемого модуля команды поиска расширений сообщений поддерживают до пяти параметров (один параметр должен быть виден в строке поиска расширения сообщений). Параметр должен иметь хорошее описание, которое должно описывать ожидаемые входные данные, включая формат или тип.

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

Базовый поиск: поиск задач, связанных с Northwind.
Расширенный поиск: поиск высокоприоритетных задач, связанных с Northwind, которые должны быть запланированы завтра.

Пример описания параметра:

"parameters": [
    {
        "name": "Name",
        "title": "Project or Task Name",
        "description": "Project name or task name as keyword",
        "inputType": "text"
    },
    {
        "name": "Time",
        "title": "Time",
        "description": "Date or number of days for which to find tasks. Output: Number",
        "inputType": "text"
    },
    {
        "name": "Priority",
        "title": "Priority",
        "description": "Priority of tasks. Acceptable values: high, medium, low, NA ",
        "inputType": "text"
    }]

Отладка выбора подключаемого модуля

Вы можете использовать режим разработчика при тестировании подключаемого модуля, чтобы проверить, выбрал ли оркестратор подключаемый модуль для использования в ответ на заданный запрос. В чате M365 можно включить режим разработчика, введя (или off выключив -developer on ).

Снимок экрана: сеанс

Хотя режим разработчика включен, карта с отладочными сведениями будет возвращаться всякий раз, когда оркестратор выполняет поиск в рамках корпоративных знаний (данных) и (или) навыков (подключаемых модулей) для ответа на запрос. Карта сведений об отладке содержит следующие поля:

  • Включенные подключаемые модули: список подключаемых модулей, включенных пользователем (из элемента управления Подключаемые модули под полем ввода чата).
  • Совпадаемые функции: список подключаемых модулей и функций, сопоставленных в подстановке индекса приложения среды выполнения.
  • Выбранные функции для выполнения: список функций подключаемого модуля, выбранных для вызова на основе аргументации оркестратора.
  • Сведения о выполнении функции: состояние выполнения функции запроса и ответа

Снимок экрана: сеанс

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

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

Нет карта отладки

Если оркестратору не требуются данные или навыки Microsoft 365 для реагирования на запрос, сведения об отладке карта не будут возвращены.

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

Пустые карта отладки

Если подключаемые модули не включены, сведения об отладке карта будут возвращены пустыми.

Карточка с пустыми соответствующими функциями

Если включены соответствующие подключаемые модули, но для данного запроса не были возвращены соответствующие функции, это, скорее всего, указывает на то, что запрос явно не упоминание имя подключаемого модуля.

Карточка с пустыми выбранными функциями для выполнения

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

Если Copilot ранее сопоставлял и успешно выполнял функции подключаемого модуля, это может быть признаком регулирования.

Карточка с пустыми или неудачными сведениями о выполнении функции

Для подключаемых модулей расширений, не относящихся к сообщениям, если сведения о выполнении функции или состоянии запроса пусты или сбой, это указывает на сбой во время попытки Copilot назначить параметры выбранной функции подключаемого модуля. Если ошибка согласована, скорее всего, это связано с неясными описаниями подключаемых модулей или параметров, недопустимыми URL-адресами узла или другими проблемами с определением Открытого API.

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

Карточка с состоянием ответа выполнения функции 0

Если сведения о выполнении функции сообщают о состоянии0ответа , а состояниеSuccessзапроса — , это может быть признаком истечения времени ожидания. В настоящее время ограничение времени ожидания для выполнения Api подключаемого модуля Copilot устанавливается в 10 секунд.

Следующее действие

Ознакомьтесь с рекомендациями по оптимизации возможностей обнаружения и полезности подключаемых модулей в Copilot для Microsoft 365.