Декларативная схема агента 1.6 для #REF!

В этой статье описывается схема версии 1.6, используемая манифестом декларативного агента. Манифест — это документ, доступный для машинного чтения, который предоставляет модель большого языка (LLM) с необходимыми инструкциями, знаниями и действиями, чтобы специализироваться на решении определенного набора проблем пользователей. Манифест приложения Microsoft 365 ссылается на декларативные манифесты агента внутри пакета приложения. Дополнительные сведения см. в справочнике по манифесту приложения Microsoft 365.

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

Изменения предыдущей версии

Эта версия схемы содержит следующие изменения по версии 1.5:

  • Добавлено необязательное sensitivity_label свойство для указания меток конфиденциальности Purview для агента , только если агент содержит внедренные файлы.
  • Добавлено необязательное worker_agents свойство для указания других декларативных агентов, которые могут использоваться этим агентом.
  • Добавлено необязательное user_overrides свойство для указания настроенных возможностей, которые может изменять пользователь агента.
  • Добавлена возможность внедренных знаний , позволяющая агентам использовать локальные файлы в качестве знаний.
  • Добавлено items_by_id свойство для объекта meetings, позволяющее создателям агентов ограничить собрания, доступные агенту.
  • Добавлено include_related_content свойство для объекта people, что позволяет создателям агентов включать связанные документы, сообщения электронной почты и сообщения Teams при поиске содержимого людей.
  • Добавлено group_mailboxes свойство для объекта email.

Схема JSON

Схему, описанную в этом документе, можно найти в формате схемы JSONздесь.

Конвенций

Относительные ссылки в URL-адресах

Если не указано иное, все свойства, которые являются URL-адресами, могут быть относительными ссылками. Относительные ссылки в документе манифеста относятся к расположению документа манифеста.

Длина строки

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

Нераспознанные свойства

Объекты JSON, определенные в этом документе, поддерживают только описанные свойства. Нераспознанные или посторонние свойства в любом объекте JSON делают весь документ недействительным.

Локализация строк

Локализуемые строки могут использовать ключ локализации вместо значения литерала. Синтаксис : [[key_name]], где key_name — это имя ключа в свойстве localizationKeys в файлах локализации. Дополнительные сведения о локализации см. в статье Локализация агента.

Объект манифеста декларативного агента

Корень документа манифеста — это объект JSON, который охватывает обязательные поля, возможности, начальные параметры диалога и действия.

Объект манифеста декларативного агента содержит следующие свойства.

Свойство Тип Описание
version String Обязательный. Версия схемы. Установите значение v1.6.
id String Необязательный параметр. Идентификатор манифеста.
name String Обязательный. Локализуемые. Имя декларативного агента. Он должен содержать по крайней мере один символ nonwhitespace и содержать не более 100 символов.
description String Обязательный. Локализуемые. Описание декларативного агента. Он должен содержать по крайней мере один символ nonwhitespace и содержать не более 1000 символов.
instructions String Обязательный. Подробные инструкции или рекомендации о том, как должен вести себя декларативный агент, его функции и любые действия, которые следует избежать. Он должен содержать по крайней мере один символ nonwhitespace и содержать не более 8000 символов.
capabilities Массив объекта Capabilities Необязательный параметр. Содержит массив объектов, определяющих возможности декларативного агента. Массив не может содержать более одного из каждого производного типа объекта Capabilities.
conversation_starters Массив начального объекта Conversation Необязательный параметр. Заголовок и текст локализуются. Список примеров вопросов, на которые может ответить декларативный агент. Массив не может содержать более 12 объектов.
actions Массив объекта Action Необязательный параметр. Список из 1–10 объектов, которые определяют подключаемые модули , предоставляющие действия, доступные декларативному агенту.
behavior_overrides Поведение переопределяет объект Необязательный параметр. Содержит параметры конфигурации, изменяющие поведение агента.
disclaimer Объект "Отказ от ответственности" Необязательный параметр. Текст заявления об отказе от ответственности, отображаемый пользователю в начале беседы.
sensitivity_label Объект метки конфиденциальности Необязательный параметр. Указывает метку конфиденциальности #REF! для агента.
worker_agents Массив объекта агента рабочей роли Необязательный параметр. Указывает другие декларативные агенты, которые могут использоваться этим агентом.
user_overrides Массив объекта переопределения пользователя Необязательный параметр. Указывает возможности в свойстве capabilities , которое пользователь может изменить.

Пример объекта манифеста декларативного агента

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

{
  "version": "v1.6",
  "name": "Repairs agent",
  "description": "This declarative agent is meant to help track any tickets and repairs",
  "instructions": "This declarative agent needs to look at my Service Now and Jira tickets/instances to help me keep track of open items"
}

Объект Capabilities

Объект capabilities является базовым типом для объектов в свойстве capabilities объекта манифеста декларативного агента. Возможные типы объектов:

Примечание.

Пользователи могут получить доступ к декларативным агентам с любыми возможностями, кроме поиска в Интернете, только если их клиенты разрешают лимитное использование или если у них есть лицензия на #REF!.

Пример объекта Capabilities

{
  "capabilities": [
    {
      "name": "WebSearch",
      "sites": [
        {
          "url": "https://contoso.com"
        }
      ]
    },
    {
      "name": "OneDriveAndSharePoint",
      "items_by_sharepoint_ids": [
        {
          "site_id": "bc54a8cc-8c2e-4e62-99cf-660b3594bbfd",
          "web_id": "a5377427-f041-49b5-a2e9-0d58f4343939",
          "list_id": "78A4158C-D2E0-4708-A07D-EE751111E462",
          "unique_id": "304fcfdf-8842-434d-a56f-44a1e54fbed2"
        }
      ],
      "items_by_url": [
        {
          "url": "https://contoso.sharepoint.com/teams/admins/Documents/Folders1"
        }
      ]
    },
    {
      "name": "GraphConnectors",
      "connections": [
        {
          "connection_id": "jiraTickets"
        }
      ]
    },
    {
      "name": "GraphicArt"
    },
    {
      "name": "CodeInterpreter"
    },
    {
      "name": "Dataverse",
      "knowledge_sources": [
        {
          "host_name": "organization.crm.dynamics.com",
          "skill": "DVCopilotSkillName",
          "tables": [
            {
              "table_name": "account"
            },
            {
              "table_name": "opportunity"
            }
          ]
        }
      ]
    },
    {
      "name": "TeamsMessages",
      "urls": [
        {
          "url": "https://teams.microsoft.com/l/channel/19%3ApO0102YGEBRSH6RziXCxEgB4mtb7-5hIlDzAjtxs_dg1%40thread.tacv2/G%C3%A9n%C3%A9ral?groupId=2670cf94-acf5-48f4-96d4-c58dd8937afc&tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47"
        }
      ]
    },
    {
      "name": "People"
    },
    {
      "name": "ScenarioModels",
      "models": [
        {
          "id": "model_id"
        }
      ]
    },
    {
      "name": "Meetings",
      "items_by_id": [
        {
          "id": "010000002300A00045B6C7890D12E0030000000040056F7GH890IJ01000000000000000020000000J3L45M6A7NO8PQ9R0S12TUV340XY5Z00",
          "is_series": true
        }
      ]
    }
  ]
}

Объект веб-поиска

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

Объект веб-поиска содержит следующие свойства.

Свойство Тип Описание
name String Обязательный. Необходимо указать значение WebSearch.
sites Массив объекта Site Необязательный параметр. Массив объектов, определяющих сайты, которые агенту разрешено искать. Если опустить это свойство, агент может выполнять поиск по всем сайтам. Массив не может содержать более четырех элементов.

Примечание.

Дополнительные сведения о данных, конфиденциальности и безопасности для поиска в Интернете в #REF! и #REF! см. в статье Данные, конфиденциальность и безопасность для поиска в Интернете.

Объект сайта

Указывает сайт, на котором декларативный агент может искать содержимое.

Объект сайта содержит следующее свойство.

Свойство Тип Описание
url String Обязательный. Абсолютный URL-адрес сайта для поиска содержимого. URL-адрес не может содержать более двух сегментов пути (например, https://contoso.com/projects/mark-8 является допустимым, но https://contoso.com/projects/mark-8/beta-program недопустимым). URL-адрес не может содержать параметры запроса.

Объект #REF! и #REF!

Указывает, что декларативный агент может искать в #REF! и #REF! пользователя на наличие сведений о заземлениях.

Объекты #REF! и #REF! содержат следующие свойства.

Свойство Тип Описание
name String Обязательный. Необходимо указать значение OneDriveAndSharePoint.
items_by_sharepoint_ids Массив элементов по идентификаторам #REF! Необязательный параметр. Массив объектов, определяющих источники #REF! или #REF! с помощью идентификаторов. Если опустить свойства items_by_sharepoint_ids и items_by_url , декларативный агент может получить доступ ко всем источникам #REF! и #REF! в организации.
items_by_url Массив элементов по объекту URL-адреса Необязательный параметр. Массив объектов, определяющих источники #REF! или #REF! по URL-адресу. Если опустить свойства items_by_sharepoint_ids и items_by_url , декларативный агент может получить доступ ко всем источникам #REF! и #REF! в организации.

Сведения об оптимизации содержимого #REF! для Copilot см. в статье Оптимизация извлечения содержимого #REF!.

Объект Items by #REF! IDs

Объект items by #REF! IDs содержит следующие свойства.

Свойство Тип Описание
site_id String Необязательный параметр. Уникальный идентификатор GUID для сайта #REF! или #REF!.
web_id String Необязательный параметр. Уникальный идентификатор GUID для определенного веб-сайта #REF! или #REF!.
list_id String Необязательный параметр. Уникальный идентификатор GUID для библиотеки документов на сайте #REF!.
unique_id String Необязательный параметр. Уникальный идентификатор GUID, используемый для область папку или файл в библиотеке документов, указанной свойством list_id .
search_associated_sites Boolean Необязательное свойство. Указывает, следует ли включать поиск связанных сайтов. Это значение применимо только в том случае, site_id если оно ссылается на сайт #REF! HubSite.
part_type String Необязательный параметр. Указывает тип части part_id , на который ссылается. Это значение применимо только при part_id наличии значения. Возможные значения: OneNotePart.
part_id String Необязательный параметр. Уникальный идентификатор GUID, используемый для представления части элемента #REF!, например страницы #REF!.

Совет

Сведения о том, как получить уникальные идентификаторы для ресурса #REF! или #REF!, см. в статье Извлечение идентификаторов возможностей для манифеста декларативного агента.

Элементы по объекту URL-адреса

Объект items by URL содержит следующее свойство.

Свойство Тип Описание
url String Необязательный параметр. Абсолютный URL-адрес ресурса #REF! или #REF!.

Объект соединителей Copilot

Указывает, что декларативный агент может искать сведения о заземлениях выбранных соединителей Copilot.

Объект Соединители Copilot содержит следующие свойства.

Свойство Тип Описание
name String Обязательный. Необходимо указать значение GraphConnectors.
connections Массив объекта Connection Необязательный параметр. Массив объектов, определяющих соединители Copilot, доступные декларативному агенту. Если опустить это свойство, декларативный агент может получить доступ ко всем соединителям Copilot в организации.
Объект Connection

Определяет соединитель Copilot.

Объект connection содержит следующие свойства.

Свойство Тип Описание
connection_id String Обязательный. Уникальный идентификатор соединителя Copilot.
additional_search_terms String Необязательный параметр. Запрос язык KeyQL (KQL) для фильтрации элементов на основе полей в схеме подключения.
items_by_external_id Массив объекта идентификатора элемента Необязательный параметр. Указывает определенные элементы по идентификатору в соединителе Copilot, доступные агенту.
items_by_path Массив объекта Path Необязательный параметр. Фильтрует элементы, доступные агенту, по путям элементов (семантическаяitemPath метка элементов).
items_by_container_name Массив объекта "Имя контейнера" Необязательный параметр. Фильтрует элементы, доступные агенту, по имени контейнера (семантическая containerName метка элементов).
items_by_container_url Массив объекта URL-адреса контейнера Необязательный параметр. Фильтрует элементы, доступные агенту, по URL-адресу контейнера (семантическая containerUrl метка элементов).

Совет

Инструкции по получению уникального идентификатора для соединителя Copilot см. в разделе Извлечение идентификаторов возможностей для манифеста декларативного агента.

Объект идентификатора элемента

Определяет внешний элемент по его идентификатору.

Объект идентификатора элемента содержит следующие свойства.

Свойство Тип Описание
item_id String Обязательный. Уникальный идентификатор внешнего элемента.
Объект Path

Определяет внешний элемент по пути к нему.

Объект path содержит следующие свойства.

Свойство Тип Описание
path String Обязательный. Путь (itemPath значение семантической метки) внешнего элемента.
Объект имени контейнера

Определяет контейнер по его имени.

Объект имени контейнера содержит следующие свойства.

Свойство Тип Описание
container_name String Обязательный. Имя контейнера (containerName значение семантической метки) внешнего элемента.
Объект URL-адреса контейнера

Определяет контейнер по ЕГО URL-адресу.

Объект URL-адреса контейнера содержит следующие свойства.

Свойство Тип Описание
container_url String Обязательный. URL-адрес контейнера (containerUrl значение семантической метки) внешнего элемента.

Графический арт-объект

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

Графический арт-объект содержит следующее свойство.

Свойство Тип Описание
name String Обязательный. Установите значение GraphicArt.

Объект интерпретатора кода

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

Объект интерпретатора кода содержит следующее свойство.

Свойство Тип Описание
name String Обязательный. Установите значение CodeInterpreter.

Объект Dataverse

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

Объект Dataverse содержит следующие свойства.

Свойство Тип Описание
name String Обязательный. Установите значение Dataverse.
knowledge_sources Массив источников знаний Необязательный параметр. Массив объектов, содержащий идентификаторы, навыки и имена таблиц для экземпляров Dataverse, которые необходимо включить в качестве знаний.
Объект источников знаний

Содержит сведения об экземплярах Dataverse для включения в качестве знаний.

Объект источников знаний содержит следующие свойства.

Свойство Тип Описание
host_name String Обязательный. Уникальный идентификатор узла в Dataverse.
skill String Уникальный идентификатор, определяющий конфигурацию взаимодействия агента с знаниями Dataverse.
tables Массив таблиц Массив таблиц для область знаний агента.

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

  1. В Copilot Studio в области слева выберите Агенты>Copilot для Microsoft 365 и нажмите кнопку Добавить, чтобы создать новый агент.
  2. Следуйте инструкциям в разделе Добавление источника знаний Dataverse , чтобы добавить знания Dataverse.
  3. Выберите Опубликовать, а затем скачайте файл .zip.
  4. Распакуть и открыть файл declarativeAgent.json.
  5. Значение skill включается в knowledge_sources раздел, как показано в следующем примере.
{
  "name": "Dataverse",
  "knowledge_sources": [
    {
      "host_name": "org0f612cfc.crm.dynamics.com",
      "skill": "AIBuilderFileAttachedData_e7eTReDbkX_1t4X1oGoCF",
      "tables": [
        {
          "table_name": "msdyn_aibfileattacheddata"
        }
      ]
    }
  ]
}
Объект Tables

Содержит таблицы для область знаний агента.

Объект tables содержит следующее свойство.

Свойство Тип Описание
table_name String Обязательный. Уникальный идентификатор таблицы.

Объект сообщений #REF!

Указывает, что декларативный агент может выполнять поиск по каналам #REF!, командам, собраниям, чатам 1:1 и групповым чатам.

Объект сообщений #REF! содержит следующие свойства.

Свойство Тип Описание
name String Обязательный. Установите значение TeamsMessages.
urls Массив URL-адресов #REF! Необязательный параметр. Массив объектов, определяющих URL-адреса каналов #REF!, чатов собраний, групповых чатов или чатов 1:1, доступных декларативному агенту. Массив не может содержать более пяти объектов. Если опустить это свойство, декларативный агент может выполнять поиск по всем каналам, собраниям, чатам 1:1 и групповым чатам.
Объект URL-адреса #REF!

Определяет канал #REF!, команду или чат для собраний.

Объект URL-адреса #REF! содержит следующие свойства.

Свойство Тип Описание
url String Обязательный. Хорошо отформатированный URL-адрес #REF!, который ссылается на канал #REF!, чат собрания, групповой чат или чат 1:1.

Объект Email

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

Объект email содержит следующие свойства.

Свойство Тип Описание
name String Обязательный. Необходимо указать значение Email.
shared_mailbox Строка Необязательный параметр. SMTP-адрес общего почтового ящика.
group_mailboxes Массив строк Необязательное. Массив SMTP-адресов Группы Microsoft 365 или общих почтовых ящиков. Поддерживается не более 25 почтовых ящиков.
folders Массив папок Необязательный параметр. При наличии агенту доступны только сообщения электронной почты в указанных папках.
Объект Folders

Содержит папки для область знаний агента.

Объект folders содержит следующее свойство.

Свойство Тип Описание
folder_id String Обязательный. Известное имя папки или идентификатор папки для ссылки.

Объект пользователя

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

Объект people содержит следующие свойства.

Свойство Тип Описание
name String Обязательный. Необходимо указать значение People.
include_related_content Boolean Необязательное свойство. Указывает, следует ли включать связанное содержимое при поиске данных людей. Если задано значение true, da будет включать связанные документы, сообщения электронной почты и сообщения Teams между пользователем агента и пользователями, на которые ссылается ссылка (т. е. то, что у них есть общего). Если задано значение false или опущено, будут включены только основные сведения об организации, такие как организационные диаграммы, имена, адреса электронной почты и навыки. Значение по умолчанию — false.

Объект моделей сценариев

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

Объект моделей сценариев содержит следующие свойства.

Свойство Тип Описание
name String Обязательный. Необходимо указать значение ScenarioModels.
models Массив объекта Model Обязательно. Массив объектов, определяющий модели для конкретных задач, доступные декларативному агенту.
Объект Model

Определяет модель для конкретной задачи.

Объект модели содержит следующее свойство.

Свойство Тип Описание
id String Обязательный. Уникальный идентификатор модели.

Объект Meetings

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

Объект meetings содержит следующие свойства.

Свойство Тип Описание
name String Обязательный. Необходимо указать значение Meetings.
items_by_id Массив объекта идентификатора собрания Необязательный параметр. Массив объектов, определяющих собрания, доступные декларативному агенту. Массив не может содержать более пяти объектов. Если опустить это свойство, декларативный агент может выполнять поиск по всем собраниям.
Объект идентификатора собрания

Определяет собрание.

Объект идентификатора собрания содержит следующие свойства.

Свойство Тип Описание
id String Обязательный. Уникальный идентификатор собрания. Инструкции по поиску идентификатора собрания см. в разделе Получение идентификатора собрания.
is_series Логический Обязательно. Указывает, является ли собрание рядом.

Внедренный объект знаний

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

Важно!

Эта функция пока недоступна.

Внедренные файлы знаний имеют максимальный размер файла 1 МБ и должны иметь один из следующих типов документов:

  • документ #REF! (.doc, .docx)
  • Презентация #REF! (.ppt, .pptx)
  • Книга Excel (.xls, .xlsx)
  • Обычный текст (TXT)
  • Portable Document Format (PDF)

Внедренный объект знаний содержит следующие свойства:

Свойство Тип Описание
name String Обязательный. Необходимо указать значение EmbeddedKnowledge.
files Массив объекта File Необязательный параметр. Список объектов, определяющих файлы, содержащие знания, которые агент может использовать для заземления. Максимальный размер массива — 10.

Пример объекта EmbeddedKnowledge

{
  "name": "EmbeddedKnowledge",
  "files": [
    { "file": "file1.docx" },
    { "file": "file2.csv" }
  ]
}

Объект File

Свойство Тип Описание
file String Обязательный. Относительный путь к внедренным файлам.

Начальный объект conversation

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

Начальный объект диалога содержит следующие свойства:

Свойство Тип Описание
text String Обязательный. Локализуемые. Предложение, которое пользователь может использовать для получения желаемого результата от декларативного агента. Он должен содержать по крайней мере один символ nonwhitespace.
title String Необязательный параметр. Локализуемые. Уникальное название для начала беседы. Он должен содержать по крайней мере один символ nonwhitespace.

Примечание.

Массив не может содержать более шести объектов.

Пример начального объекта conversation

{
  "conversation_starters": [
    {
      "title": "My Open Repairs",
      "text": "What open repairs are assigned to me?"
    }
  ]
}

Объект Actions

Actions — это необязательный объект JSON в манифесте. Они выступают в качестве входных данных для разработчиков и могут рассматриваться как подключаемые модули.

Объект действия содержит следующие свойства.

Свойство Тип Описание
id String Обязательный. Уникальный идентификатор действия. Это может быть GUID.
file String Обязательный. Путь к манифесту подключаемого модуля API для этого действия.

Примечание.

Массив должен содержать по крайней мере один и не более 10 объектов.

Пример объекта Actions

{
  "actions": [
    {
      "id": "repairsPlugin",
      "file": "plugin.json"
    }
  ]
}

Поведение переопределяет объект

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

Поведение переопределяет объект, содержащий следующие свойства.

Свойство Тип Описание
suggestions Объект Suggestions Необязательный параметр. Содержит параметры конфигурации для функции предложений.
special_instructions Объект специальных инструкций Необязательный параметр. Содержит параметры для внедрения специальных инструкций в запрос.

Объект Suggestions

Необязательный объект JSON, содержащий параметры конфигурации для функции предложений.

Объект suggestions содержит следующее свойство.

Свойство Тип Описание
disabled Логический Обязательно. Если задано значение true, функция предложений отключена. Значение по умолчанию — false.

Объект специальных инструкций

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

Объект специальных инструкций содержит следующее свойство.

Свойство Тип Описание
discourage_model_knowledge Логический Обязательно. Если задано значение true, агент не использует знания модели при создании ответов. Значение по умолчанию — false.

Объект "Отказ от ответственности"

Заявление об отказе — это необязательный объект JSON в манифесте, указывающий текст заявления об отказе. Агент отображает этот текст пользователю в начале беседы.

Объект disclaimer содержит следующее свойство.

Свойство Тип Описание
text String Обязательный. Текст заявления об отказе. Значение должно содержать по крайней мере один символ, отличный от пробелов, и не должно превышать 500 символов.

Объект метки конфиденциальности

Примечание.

Метки конфиденциальности применяются к агенту только в том случае, если агент имеет внедренные Files. Это свойство пока не включено, так как встроенные Files еще не включены.

Необязательный объект JSON, указывающий метку конфиденциальности #REF! для внедренных файлов в агенте. Он содержит самую высокую защиту среди всех файлов, внедренных в агенты в свойстве Embedded Knowledge.

Свойство Тип Описание
id String GUID метки конфиденциальности из #REF!.

Пример объекта метки конфиденциальности

{
  "sensitivity_label": {
    "id": "<guid>"
  }
}

Объект агента рабочей роли

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

Примечание.

Эта возможность доступна в предварительной версии.

Объект рабочего агента содержит следующее свойство.

Свойство Тип Описание
id String Обязательный. Идентификатор заголовка приложения, содержащего декларативный агент. Он возвращается при публикации приложения с помощью microsoft 365 Agents Toolkit или может быть найден в разделе метаданных агента режима разработчика карта.

Объект переопределения пользователя

Определяет возможности, настроенные в объекте Capabilities, которые пользователь может переопределить с помощью элемента управления пользовательского интерфейса в #REF!. Единственным поддерживаемым действием является remove, которое включает переключатель в пользовательском интерфейсе, позволяя пользователю включать или отключать возможность, используемую для создания ответов.

Примечание.

При объявлении GraphConnectorspathв , все доступные соединители Copilot могут быть включены или отключены. Включить переключатель для определенных соединителей невозможно. Система сегментирует и отображает предоставленные корпорацией Майкрософт соединители с понятным именем, а пользовательские соединители — с именем соединителя (например, CB Insights). Это позволяет конечным пользователям легко определять источники соединителей и управлять ими при настройке сеанса агента. Дополнительные сведения о соединителях и издателях см. в разделе Коллекция соединителей #REF!.

Объект переопределения пользователя содержит следующие свойства.

Свойство Тип Описание
path String Обязательный. Выражение JSONPath, определяющее возможность, которую пользователи могут изменять. Выражение JSONPath позволяет ориентироваться только на определенные возможности по имени.
allowed_actions Массив строк Обязательное. Указывает, что для указанных возможностей можно выполнять действия. Единственным поддерживаемым действием является remove.

Пример объекта переопределения пользователя

В следующем примере включается переключатель элементов управления для возможностей поиска в Интернете и сообщений #REF! , что позволяет пользователю включать или выключать эти возможности.

{
  "user_overrides": [
    {
      "path": "$.capabilities[?(@.name == 'WebSearch')]",
      "allowed_actions": ["remove"]
    },
    {
      "path": "$.capabilities[?(@.name == 'TeamsMessages')]",
      "allowed_actions": ["remove"]
    }
  ]
}

Пример манифеста декларативного агента

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

{
  "$schema": "https://developer.microsoft.com/json-schemas/copilot/declarative-agent/v1.6/schema.json",
  "version": "v1.6",
  "name": "Teams Toolkit declarative agent",
  "description": "Declarative agent created with Teams Toolkit",
  "instructions": "You are a repairs expert agent. With the response from the listRepairs function, you **must** create a poem out of the repairs listed and always include their title and the assigned person. The poem **must** not use the quote markdown and use regular text. If the user is asking to create a new repair, use the createRepair function and do not add poems.",
  "conversation_starters": [
    {
      "title": "Getting Started",
      "text": "How can I get started with Teams Toolkit?"
    },
    {
      "title": "Getting Help",
      "text": "How can I get help with Teams Toolkit?"
    }
  ],
  "sensitivity_label": {
    "id": "00000000-0000-0000-0000-000000000000"
  },
  "actions": [
    {
      "id": "repairsPlugin",
      "file": "repairs-hub-api-plugin.json"
    }
  ],
  "behavior_overrides": {
    "suggestions": {
      "disabled": true
    },
    "special_instructions": {
      "discourage_model_knowledge": true
    }
  },
  "disclaimer": {
    "text": "This declarative agent is a fictional example. You should not take it seriously."
  },
  "worker_agents": [
    {
      "id": "P_2c27ae89-1f78-4ef7-824c-7d83f77eda28"
    }
  ],
  "user_overrides": [
    {
      "path": "$.capabilities[?(@.name == 'OneDriveAndSharePoint')]",
      "allowed_actions": [
        "remove"
      ]
    }
  ],
  "capabilities": [
    {
      "name": "WebSearch",
      "sites": [
        {
          "url": "https://contoso.com/projects/mark-8"
        }
      ]
    },
    {
      "name": "OneDriveAndSharePoint",
      "items_by_url": [
        {
          "url": "https://contoso.sharepoint.com/sites/ProductSupport"
        }
      ]
    },
    {
      "name": "GraphConnectors",
      "connections": [
        {
          "connection_id": "foodStore"
        }
      ]
    },
    {
      "name": "GraphicArt"
    },
    {
      "name": "CodeInterpreter"
    },
    {
      "name": "Dataverse",
      "knowledge_sources": [
        {
          "host_name": "organization.crm.dynamics.com",
          "skill": "DVCopilotSkillName",
          "tables": [
            {
              "table_name": "account"
            },
            {
              "table_name": "opportunity"
            }
          ]
        }
      ]
    },
    {
      "name": "TeamsMessages",
      "urls": [
        {
          "url": "https://teams.microsoft.com/l/channel/19%3ApO0102YGEBRSH6RziXCxEgB4mtb7-5hIlDzAjtxs_dg1%40thread.tacv2/G%C3%A9n%C3%A9ral?groupId=2670cf94-acf5-48f4-96d4-c58dd8937afc&tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47"
        }
      ]
    },
    {
      "name": "Email",
      "shared_mailbox": "sample@service.microsoft.com",
      "folders": [
        {
         "folder_id": "inbox"
        }
      ]
    },
    {
      "name": "People"
    },
    {
      "name": "ScenarioModels",
      "models": [
        {
          "id": "model_id"
        }
      ]
    },
    {
      "name": "Meetings",
      "items_by_id": [
        {
          "id": "010000002300A00045B6C7890D12E0030000000040056F7GH890IJ01000000000000000020000000J3L45M6A7NO8PQ9R0S12TUV340XY5Z00",
          "is_series": true
        }
      ]
    },
    {
      "name": "EmbeddedKnowledge",
      "files": [
        { "file": "file1.docx" },
        { "file": "file2.csv" }
      ]
    }
  ]
}