Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описывается схема версии 1.4, используемая манифестом декларативного агента. Манифест — это документ, доступный для машинного чтения, который предоставляет модель большого языка (LLM) с необходимыми инструкциями, знаниями и действиями, чтобы специализироваться на решении определенного набора проблем пользователей. Декларативные манифесты агента ссылаются на манифест приложения Microsoft 365 внутри пакета приложения. Дополнительные сведения см. в справочнике по манифесту приложения Microsoft 365.
Декларативные агенты полезны для понимания и создания текста, подобного человеку, что делает их универсальными для таких задач, как написание и ответы на вопросы. Эта спецификация ориентирована на декларативный манифест агента, который выступает в качестве структурированной платформы для специализации и расширения функциональных возможностей конкретного пользователя.
Изменения предыдущей версии
Эта версия схемы содержит следующие изменения по версии 1.3:
- Добавлено
behavior_overrides
свойство для объекта манифеста декларативного агента. - Добавлены
part_type
свойства иpart_id
для объекта items by SharePoint IDs. - Добавлены дополнительные свойства для объекта Connection, позволяющие определить область содержимого соединителя Copilot.
- В список добавлена возможность моделей сценариев , которая позволяет агентам использовать модели для конкретных
capabilities
задач.
Схема JSON
Схему, описанную в этом документе, можно найти в формате схемы JSONздесь.
Конвенций
Относительные ссылки в URL-адресах
Если не указано иное, все свойства, которые являются URL-адресами, могут быть относительными ссылками. Относительные ссылки в документе манифеста относительно расположения документа манифеста.
Длина строки
Если не указано иное, все строковые свойства должны быть ограничены 4K-символами. Эта длина строки не предоставляет допустимый размер для всего документа. Реализации могут ввести собственные практические ограничения на длину манифеста.
Нераспознанные свойства
Объекты JSON, определенные в этом документе, поддерживают только описанные свойства. Нераспознанные или лишние свойства в любом объекте JSON должны сделать весь документ недействительным.
Локализация строк
Локализуемые строки могут использовать ключ локализации вместо значения литерала. Синтаксис : [[key_name]]
, где key_name
— это имя ключа в свойстве localizationKeys
в файлах локализации. Дополнительные сведения о локализации см. в статье Локализация агента.
Объект манифеста декларативного агента
Корень документа манифеста — это объект JSON, который охватывает обязательные поля, возможности, начальные параметры диалога и действия.
Объект манифеста декларативного агента содержит следующие свойства.
Свойство | Тип | Описание |
---|---|---|
version |
String | Обязательный. Версия схемы. Необходимо указать значение v1.4 . |
id |
Строка | Необязательный параметр. |
name |
String | Обязательный. Локализуемый. Имя декларативного агента. Он должен содержать по крайней мере один символ nonwhitespace и должен содержать не более 100 символов. |
description |
String | Обязательный. Локализуемый. Описание декларативного агента. Он должен содержать по крайней мере один символ nonwhitespace и должен содержать не более 1000 символов. |
instructions |
String | Обязательный. Подробные инструкции или рекомендации о том, как должен вести себя декларативный агент, его функции и любые действия, которые следует избежать. Он должен содержать по крайней мере один символ nonwhitespace и должен содержать не более 8000 символов. |
capabilities |
Массив объекта Capabilities | Необязательный параметр. Содержит массив объектов, определяющих возможности декларативного агента. В массиве не должно быть более одного производного типа объекта Capabilities . |
conversation_starters |
Массив начального объекта Conversation | Необязательный параметр. Заголовок и текст локализуются. Список примеров вопросов, на которые может ответить декларативный агент. В массиве не должно быть более 12 объектов. |
actions |
Массив объекта Action | Необязательный параметр. Список объектов, определяющих подключаемые модули API , предоставляющие действия, доступные декларативному агенту. |
behavior_overrides |
Поведение переопределяет объект | Необязательный параметр. Содержит параметры конфигурации, изменяющие поведение агента. |
Пример объекта манифеста декларативного агента
Следующий код является примером обязательных полей в манифесте декларативного агента.
{
"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
объекта манифеста декларативного агента. Возможные типы объектов:
- Объект веб-поиска
- Объект OneDrive и SharePoint
- Объект соединителей Copilot
- Графический арт-объект
- Объект интерпретатора кода
- Объект Dataverse
- Объект teams messages
- Объект Email
- Объект пользователя
- Объект моделей сценариев
Примечание.
Декларативные агенты с любыми возможностями, кроме поиска в Интернете, доступны только пользователям в клиентах, которые разрешают лимитное использование, или клиентам с лицензией на Microsoft 365 Copilot.
Пример объекта 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 |
String | Обязательный. Необходимо указать значение WebSearch . |
sites |
Массив объекта Site | Необязательный параметр. Массив объектов, определяющих сайты, которые агенту разрешено искать. Если это свойство опущено, всем агентам разрешено выполнять поиск по всем сайтам. Массив не должен содержать более четырех элементов. |
Примечание.
Дополнительные сведения о данных, конфиденциальности и безопасности для поиска в Интернете в Microsoft 365 Copilot Chat и Microsoft 365 Copilot см. в статье Данные, конфиденциальность и безопасность для поиска в Интернете.
Объект сайта
Указывает сайт, на котором декларативный агент может искать содержимое.
Объект сайта содержит следующие свойства.
Свойство | Тип | Описание |
---|---|---|
url |
String | Обязательный. Абсолютный URL-адрес сайта для поиска содержимого. URL-адрес не должен содержать более двух сегментов пути (например, https://contoso.com/projects/mark-8 является допустимым, https://contoso.com/projects/mark-8/beta-program недопустимым). URL-адрес не должен содержать параметры запроса. |
Объект OneDrive и SharePoint
Указывает, что декларативный агент может искать в SharePoint и OneDrive пользователя на наличие сведений о заземлениях.
Объекты OneDrive и SharePoint содержат следующие свойства.
Свойство | Тип | Описание |
---|---|---|
name |
String | Обязательный. Необходимо указать значение OneDriveAndSharePoint . |
items_by_sharepoint_ids |
Массив элементов по идентификаторам SharePoint | Необязательный параметр. Массив объектов, определяющих источники SharePoint или OneDrive с помощью идентификаторов. Если свойства items_by_sharepoint_ids и свойства опущены items_by_url , декларативному агенту будут доступны все источники OneDrive и Sharepoint в организации. |
items_by_url |
Массив элементов по объекту URL-адреса | Необязательный параметр. Массив объектов, определяющих источники SharePoint или OneDrive по URL-адресу. Если свойства items_by_sharepoint_ids и свойства опущены items_by_url , декларативному агенту будут доступны все источники OneDrive и Sharepoint в организации. |
Сведения об оптимизации содержимого SharePoint для Copilot см. в статье Оптимизация извлечения содержимого SharePoint.
Объект Items by SharePoint IDs
Объект items by SharePoint IDs содержит следующие свойства.
Свойство | Тип | Описание |
---|---|---|
site_id |
String | Необязательный параметр. Уникальный идентификатор GUID для сайта SharePoint или OneDrive. |
web_id |
String | Необязательный параметр. Уникальный идентификатор GUID для определенного веб-сайта SharePoint или OneDrive. |
list_id |
String | Необязательный параметр. Уникальный идентификатор GUID для списка на сайте SharePoint или OneDrive. |
unique_id |
String | Необязательный параметр. Уникальный идентификатор GUID, используемый для представления определенной сущности или ресурса. |
search_associated_sites |
Boolean | Необязательное свойство. Указывает, следует ли включать поиск связанных сайтов. Это значение применимо только в том случае, site_id если оно ссылается на сайт SharePoint HubSite. |
part_type |
String | Необязательный параметр. Указывает тип части part_id , на который ссылается. Это значение применимо только при part_id наличии значения. Возможные значения: OneNotePart . |
part_id |
String | Необязательный параметр. Уникальный идентификатор GUID, используемый для представления части элемента SharePoint, например страницы OneNote. |
Совет
Сведения о том, как получить уникальные идентификаторы для ресурса SharePoint или OneDrive, см. в статье Извлечение идентификаторов возможностей для манифеста декларативного агента.
Элементы по объекту URL-адреса
Объект items by URL содержит следующие свойства.
Свойство | Тип | Описание |
---|---|---|
url |
String | Необязательный параметр. Абсолютный URL-адрес ресурса SharePoint или OneDrive. |
Объект соединителей Copilot
Указывает, что декларативный агент может искать сведения о заземлениях выбранных соединителей Copilot.
Объект Соединители Copilot содержит следующие свойства.
Свойство | Тип | Описание |
---|---|---|
name |
String | Обязательный. Необходимо указать значение GraphConnectors . |
connections |
Массив объекта Connection | Необязательный параметр. Массив объектов, определяющих соединители Copilot, доступные декларативному агенту. Если это свойство опущено, декларативному агенту доступны все соединители Copilot в организации. |
Объект Connection
Определяет соединитель Copilot.
Объект connection содержит следующие свойства.
Свойство | Тип | Описание |
---|---|---|
connection_id |
String | Обязательный. Уникальный идентификатор соединителя Copilot. |
additional_search_terms |
String | Необязательный параметр. Запрос языка ключевых слов (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
Указывает, что декларативный агент может выполнять поиск данных из таблиц в Microsoft Dataverse.
Объект Dataverse содержит следующие свойства.
Свойство | Тип | Описание |
---|---|---|
name |
String | Обязательный. Необходимо указать значение Dataverse . |
knowledge_sources |
Массив источников знаний | Необязательный параметр. Массив объектов, содержащий идентификаторы, навыки и имена таблиц для экземпляров Dataverse, которые необходимо включить в качестве знаний. |
Объект источников знаний
Содержит сведения об экземплярах Dataverse для включения в качестве знаний.
Объект источников знаний содержит следующие свойства.
Свойство | Тип | Описание |
---|---|---|
host_name |
String | Обязательный. Уникальный идентификатор узла в Dataverse. |
skill |
String | Уникальный идентификатор, определяющий конфигурацию взаимодействия агента с знаниями Dataverse. |
tables |
Массив таблиц | Массив таблиц для область знаний агента. |
Объект Tables
Содержит таблицы для область знаний агента.
Объект tables содержит следующее свойство.
Свойство | Тип | Описание |
---|---|---|
table |
String | Обязательный. Уникальный идентификатор таблицы. |
Объект teams messages
Указывает, что декларативный агент может выполнять поиск по каналам Teams, командам, собраниям, чатам 1:1 и групповым чатам.
Объект Teams messages содержит следующие свойства.
Свойство | Тип | Описание |
---|---|---|
name |
String | Обязательный. Необходимо указать значение TeamsMessages . |
urls |
Массив URL-адресов Teams | Необязательный параметр. Массив объектов, определяющих URL-адреса каналов Teams, чатов собраний, групповых чатов или чатов 1:1, доступных декларативному агенту. В массиве не должно быть более пяти объектов. Пропуск этого свойства позволяет выполнять поиск без проверки по всем каналам, собраниям, чатам 1:1 и групповым чатам. |
Объект URL-адреса Teams
Определяет канал Teams, команду или чат для собраний.
Объект URL-адреса Teams содержит следующие свойства.
Свойство | Тип | Описание |
---|---|---|
url |
String | Обязательный. Хорошо отформатированный URL-адрес Teams, который ссылается на канал Teams, чат собрания, групповой чат или чат 1:1. |
Объект Email
Указывает, что декларативный агент может выполнять поиск сообщений электронной почты в почтовых ящиках, к которым у пользователя есть доступ.
Объект email содержит следующие свойства.
Свойство | Тип | Описание |
---|---|---|
name |
String | Обязательный. Необходимо указать значение Email . |
shared_mailbox |
Строка | Необязательный параметр. SMTP-адрес общего почтового ящика. |
folders |
String | Необязательный параметр. Массив объектов folder_id . |
Объект Folders
Содержит папки для область знаний агента.
Объект folders содержит следующее свойство.
Свойство | Тип | Описание |
---|---|---|
folder_id |
String | Обязательный. Известное имя папки или идентификатор папки для ссылки. |
Объект пользователя
Указывает, что декларативный агент может искать сведения о людях в организации.
Объект people содержит следующее свойство.
Свойство | Тип | Описание |
---|---|---|
name |
String | Обязательный. Необходимо указать значение People . |
Объект моделей сценариев
Указывает, что декларативный агент может использовать модели для конкретных задач.
Объект моделей сценариев содержит следующие свойства.
Свойство | Тип | Описание |
---|---|---|
name |
String | Обязательный. Необходимо указать значение ScenarioModels . |
models |
Массив объекта Model | Обязательно. Массив объектов, определяющий модели для конкретных задач, доступные декларативному агенту. |
Объект Model
Определяет модель для конкретной задачи.
Объект модели содержит следующее свойство.
Свойство | Тип | Описание |
---|---|---|
id |
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 для этого действия. |
Пример объекта Actions
Поведение переопределяет объект
Необязательный объект JSON, содержащий параметры конфигурации, которые переопределяют поведение агента.
Поведение переопределяет объект, содержащий следующие свойства.
Свойство | Тип | Описание |
---|---|---|
suggestions |
Объект Suggestions | Необязательный параметр. Содержит параметры конфигурации для функции предложений. |
special_instructions |
Объект специальных инструкций | Необязательный параметр. Содержит параметры для внедрения специальных инструкций в запрос. |
Объект Suggestions
Необязательный объект JSON, содержащий параметры конфигурации для функции предложений.
Объект suggestions содержит следующее свойство.
Свойство | Тип | Описание |
---|---|---|
disabled |
Логический | Обязательно. Если задано значение true , функция предложений будет отключена. Значение по умолчанию — false . |
Объект специальных инструкций
Необязательный объект JSON, содержащий параметры для внедрения специальных инструкций в запрос.
Объект disclaimer содержит следующее свойство.
Свойство | Тип | Описание |
---|---|---|
discourage_model_knowledge |
Логический | Обязательно. Если задано значение true , агент не рекомендуется использовать знания модели при создании ответов. Значение по умолчанию — false . |
Пример манифеста декларативного агента
В следующем примере показан файл манифеста декларативного агента, который использует большинство свойств манифеста, описанных в этой статье.
{
"$schema": "https://developer.microsoft.com/json-schemas/copilot/declarative-agent/v1.4/schema.json",
"version": "v1.4",
"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?"
}
],
"actions": [
{
"id": "repairsPlugin",
"file": "repairs-hub-api-plugin.json"
}
],
"behavior_overrides": {
"suggestions": {
"disabled": true
},
"special_instructions": {
"discourage_model_knowledge": true
}
},
"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": "[email protected]",
"folders": [
{
"folder_id": "inbox"
}
]
},
{
"name": "People"
},
{
"name": "ScenarioModels",
"models": [
{
"id": "model_id"
}
]
}
]
}