Как Microsoft 365 Copilot определяет, какой подключаемый модуль следует использовать
Microsoft 365 Copilot — это ваш личный помощник для работы. Он помогает в выполнении различных общих задач, таких как написание, обобщение, исследование и многое другое. Copilot имеет различные навыки , которые соответствуют этим разным типам задач. Например, Copilot может суммировать действия из собрания, предлагать изменения в файле или отслеживать ресурсы и экспертов по заданной теме в организации. Каждый навык имеет собственные параметры и выходные данные, адаптированные к конкретной задаче.
Как и любой другой copilot, Microsoft 365 Copilot обучается с данными в определенный момент времени. Для получения и обработки новых сведений в режиме реального времени, особенно данных, относящихся к вашей организации и рабочим процессам, Copilot требует подключаемых модулей. Подключаемые модули расширяют навыки и служебные возможности Microsoft 365 Copilot для конечных пользователей, позволяя ему выбирать нужные навыки из своего репертуара.
Но как Copilot узнать, какой навык следует использовать, когда вы просите о помощи? Как он интерпретирует ваш запрос и сопоставляет его с лучшим доступным навыком? Это работа оркестратора Microsoft 365 Copilot.
В этой статье объясняется логика процесса выбора навыков Copilot и как вы можете убедиться, что Copilot использует ваш подключаемый модуль при каждой возможности, чтобы принести пользу вашим пользователям.
Важно!
- Подключаемые модули API в настоящее время поддерживаются только в качестве действий в декларативных агентах. Они не включены в Microsoft 365 Copilot. Пример добавления подключаемого модуля API к декларативному агенту см. в разделе Добавление подключаемого модуля.
- Эта возможность включена по умолчанию во всех клиентах с лицензией Microsoft 365 Copilot. Администраторы могут отключить эту функцию на уровне пользователей и групп, а также контролировать, как отдельные подключаемые модули утверждаются для использования и какие подключаемые модули включены. Дополнительные сведения см. в разделе Управление агентами Copilot в интегрированных приложениях.
Оркестратор Copilot
Между вводом естественного языка конечного пользователя к выходным данным на естественном языке Copilot оркестратор Microsoft Copilot работает в фоновом режиме, чтобы выбрать и выполнить нужные навыки из правильных подключаемых модулей для заданной задачи конечного пользователя.
Уровень оркестрации представляет интерфейс между базовыми крупными языковыми моделями (LLM) и множеством способов расширения, обогащения и настройки Copilot в соответствии с работой ваших клиентов.
На следующей диаграмме показано, как оркестратор Microsoft 365 Copilot выбирает правильный подключаемый модуль с нужным навыком в нужное время, даже если есть несколько вариантов выбора.
Входные данные на естественном языке. Пользователь отправляет запрос в Copilot, например "Какие билеты назначены мне сейчас?"
Предварительные проверки. Copilot проводит несколько проверок запроса, включая ответственные проверки ИИ и меры безопасности, чтобы убедиться, что он не представляет никаких рисков. Если запрос не проходит ни одной из этих проверок, Copilot прерывает взаимодействие.
Обоснование. Оркестратор Copilot формулирует план, состоящий из нескольких действий, которые он выполняет в попытке ответить на запрос пользователя.
Контекст и выбор инструментов. Оркестратор извлекает контекст беседы пользователя из контекстного хранилища и интегрирует данные из Microsoft Graph для уточнения контекста. Затем он корректирует исходный запрос на основе этого обновленного контекста и перенаправит его в LLM (модель большого языка) для выполнения следующих действий.
LLM может приступить к созданию ответа с помощью встроенных возможностей Copilot или определить, что необходимы дополнительные данные.
Если требуется дополнительная информация, оркестратор выполняет поиск подключаемых модулей с правильным навыком для задачи из включенных подключаемых модулей пользователя на основе описаний подключаемых модулей и их функций.
Сопоставление функций и определение параметров. Оркестратор формулирует новый запрос, включающий начальный запрос пользователя, обновленный контекст и выбранные подключаемые модули, и представляет его LLM. LLM оценивает входные данные и задает оптимальный подключаемый модуль и функцию в этом подключаемом модуле для решения задачи. Затем он предоставляет оркестратору необходимые сведения о функциях и параметрах, необходимых для сбора необходимой информации.
Выполнение инструмента. Оркестратор использует ответ от LLM для создания запроса API и отправки запроса исполнителю средства, который безопасно извлекает запрошенные сведения, расположенные за пределами инфраструктуры Copilot. Он выполняет запрос и отправляет результаты обратно в оркестратор для дальнейшей обработки.
Анализ результатов и формулировка ответов. Оркестратор интегрирует ответ API в текущий контекст и обращается к LLM в цикле непрерывного рассуждения до тех пор, пока LLM не сочтет нужным создать окончательный ответ.
Реагирование. Оркестратор компилирует всю информацию, собранную в процессе рассуждения, и отправляет ее в LLM для создания окончательного ответа. После того как ответ соответствует рекомендациям ответственного ИИ, он отправляет ответ обратно оркестратору, который регистрирует его в хранилище контекста и доставляет его пользователю через пользовательский интерфейс Copilot.
Выходные данные естественного языка. Наконец, оркестратор передает пользователю ответ и обновляет состояние беседы. Copilot готов к следующему запросу.
Если вы представляете, что запрос пользователя к Copilot похож на строительный проект, то оркестратор Copilot является генеральным подрядчиком, который координирует и организует работу специализированных субподрядчиков, ваших подключаемых модулей. Как и генеральный подрядчик, оркестратор отвечает за то, чтобы проект был "завершен" в соответствии со спецификациями, подразумеваемыми входными данными пользователя (иными словами, ответ Copilot удовлетворяет намерению пользователя в его запросе).
Однако каждый подключаемый модуль несет ответственность за то, чтобы предоставить Copilot точное описание своих навыков и эффективно реализовать свои навыки. Это прививает чувство доверия к пользователям и гарантирует, что Copilot вызывает ваш подключаемый модуль каждый раз, когда требуются его навыки. В следующем разделе содержатся дополнительные сведения о том, как оптимизировать подключаемый модуль и документы OpenAPI для поиска и использования оркестратором.
Оптимизация подключаемого модуля
Microsoft 365 Copilot может уникально выбрать нужный навык из многих в своем репертуаре. Но как вы можете убедиться, что Copilot выберет ваш подключаемый модуль , чтобы обеспечить правильный навык?
Ответ заключается в том, как вы описываете подключаемый модуль, его навыки и параметры для выполнения навыка. Указание кратких и точных описаний в манифесте подключаемого модуля имеет решающее значение для обеспечения того, чтобы оркестратор Copilot знал, когда и как вызывать подключаемый модуль.
Способ описания подключаемого модуля в оркестраторе зависит от типа создаваемого подключаемого модуля, как показано в следующей таблице.
Тип подключаемого модуля | Описано | Дополнительные сведения |
---|---|---|
Подключаемые модули API | Описание OpenAPI | Как сделать документ OpenAPI эффективным при расширении Copilot |
действия Copilot Studio | Имена и описания в карте бесед Copilot Studio | Оркестрация разделов и действий совместного использования с помощью генеративного ИИ |
Подключаемые модули расширения сообщений | Манифест приложения | Рекомендации по подключаемым модулям расширения сообщений |
Механизмы сопоставления
Когда пользователь отправляет запрос в Copilot, оркестратор выполняет поиск по полному каталогу навыков (функций) из установленных подключаемых модулей, чтобы определить до пяти навыков, которые лучше всего соответствуют запросу. Оркестратор сначала пытается сопоставить точные слова (лексическое совпадение) и расширяет область поиска по мере необходимости, чтобы включить совпадения по описательным значениям (семантические совпадения), работая от конкретных имен функций до общих описаний подключаемых модулей, пока не будут заполнены все пять слотов-кандидатов функций. В частности, ниже приведена иерархия механизмов сопоставления для выбора функции подключаемого модуля Copilot:
- Лексическое совпадение по имени функции.
- Семантические совпадения в описании функции. Сейчас этот шаг находится в закрытой предварительной версии.
- Лексическое совпадение по имени подключаемого модуля (добавляет все функции подключаемого модуля в список кандидатов).
- Семантические совпадения по имени подключаемого модуля (добавляет все функции подключаемого модуля в список кандидатов).
Оркестратор работает с приведенным выше списком до тех пор, пока не будут заполнены все пять слотов-кандидатов функций.
Следующее действие
Ознакомьтесь с рекомендациями по оптимизации возможностей обнаружения и полезности подключаемых модулей.