Partager via


Fonctionnalités de l’agent déclaratif dans TypeSpec pour Microsoft 365 Copilot

TypeSpec for Microsoft 365 Copilot fournit des fonctionnalités intégrées qui permettent aux agents déclaratifs d’accéder aux services Microsoft 365 et aux ressources externes. Les fonctionnalités disponibles incluent CodeInterpreter, CopilotConnectors, Dataverse, Email, GraphicArt, Meetings, OneDriveAndSharePoint, Personnes, ScenarioModels, TeamsMessages et WebSearch. Chaque fonctionnalité peut être configurée avec des paramètres spécifiques pour contrôler l’étendue.

Fonctionnalité Description
CodeInterpreter Générez et exécutez du code Python pour résoudre des problèmes mathématiques, analyser des données et créer des visualisations.
CopilotConnectors Recherchez des informations sur les connecteurs de Microsoft 365 Copilot sélectionnés.
Dataverse Recherchez des informations dans les environnements et les tables Microsoft Dataverse.
Courrier électronique Effectuez une recherche dans les e-mails dans les boîtes aux lettres accessibles.
GraphicArt Créez des images et des illustrations basées sur une entrée de texte.
Réunions Rechercher du contenu de réunion.
OneDriveAndSharePoint Recherchez des informations sur les sites SharePoint et OneDrive.
Contacts Recherchez des informations sur les personnes dans le organization.
ScenarioModels Utilisez des modèles spécifiques à une tâche pour des scénarios spécialisés.
TeamsMessages Recherchez dans les canaux, réunions et conversations Teams.
WebSearch Recherchez des informations sur la base sur le web.

AgentCapabilities.CodeInterpreter

Indique que l’agent déclaratif peut générer et exécuter du code Python pour résoudre des problèmes mathématiques complexes, analyser des données, générer des visualisations, etc.

op codeInterpreter is AgentCapabilities.CodeInterpreter;

Exemple

op codeInterpreter is AgentCapabilities.CodeInterpreter;

AgentCapabilities.CopilotConnectors

Indique que l’agent déclaratif peut rechercher des informations de mise à la terre dans les connecteurs Copilot sélectionnés.

op copilotConnectors is AgentCapabilities.CopilotConnectors;

Paramètres

Nom Type Description
Connections Tableau de connexion Facultatif. Tableau d’objets qui identifient les connecteurs Copilot disponibles pour l’agent déclaratif. Si cette propriété est omise, tous les connecteurs Copilot dans le organization sont disponibles pour l’agent déclaratif.

Modèles

Connection

Identifie un connecteur Copilot.

Propriétés
Nom Type Description
connectionId string Obligatoire. Identificateur unique du connecteur Copilot.
additionalSearchTerms string Facultatif. Une requête Langage de requête par mots-clés (KQL) pour filtrer les éléments en fonction des champs du schéma de la connexion.
itemsByContainerName Tableau de ContainerNameItem Facultatif. Filtre les éléments disponibles pour l’agent par nom de conteneur (étiquette containerName sémantique sur les éléments).
itemsByContainerUrl Tableau de ContainerUrlItem Facultatif. Filtre les éléments disponibles pour l’agent par URL de conteneur (étiquette containerUrl sémantique sur les éléments).
itemsByExternalId Tableau de ExternalIdItem Facultatif. Spécifie des éléments spécifiques par ID dans le connecteur Copilot qui sont disponibles pour l’agent.
itemsByExternalUrl Tableau de ExternalUrlItem Facultatif. Spécifie les éléments par URL externe dans le connecteur Copilot qui sont disponibles pour l’agent.
itemsByPath Tableau de PathItem Facultatif. Filtre les éléments disponibles pour l’agent par chemin d’accès d’élément (l’étiquette itemPath sémantique sur les éléments).

ContainerNameItem

Identifie un conteneur par son nom.

Propriétés
Nom Type Description
containerName string Obligatoire. Nom du conteneur (containerName valeur d’étiquette sémantique) de l’élément externe.

ContainerUrlItem

Identifie un conteneur par son URL.

Propriétés
Nom Type Description
containerUrl string Obligatoire. URL du conteneur (containerUrl valeur d’étiquette sémantique) de l’élément externe.

ExternalIdItem

Identifie un élément externe par son ID.

Propriétés
Nom Type Description
externalId string Obligatoire. Identificateur unique de l’élément externe.

ExternalUrlItem

Identifie un élément externe par son URL.

Propriétés
Nom Type Description
url string Obligatoire. URL de l’élément externe.

PathItem

Identifie un élément externe par son chemin d’accès.

Propriétés
Nom Type Description
path string Obligatoire. Chemin d’accès (itemPath valeur d’étiquette sémantique) de l’élément externe.

Exemple

// Basic Copilot connectors with no restrictions
op copilotConnectors is AgentCapabilities.CopilotConnectors;

// Specific connectors
op copilotConnectors is AgentCapabilities.CopilotConnectors<Connections = [
  {
    connectionId: "ticketsconnector123";
  },
  {
    connectionId: "wikiconnector123";
  }
]>;

// Specific connector with KQL filtering
op copilotConnectors is AgentCapabilities.CopilotConnectors<Connections = [
  {
    connectionId: "ticketsconnector123";
    additionalSearchTerms: "CreatedDate>=2024-01-01 AND Priority:High";
  }
]>;

// Multiple connectors with different filtering approaches
op copilotConnectors is AgentCapabilities.CopilotConnectors<Connections = [
  {
    connectionId: "ticketsconnector456";
    itemsByPath: [
      { path: "/projects/customer-portal" },
      { path: "/projects/mobile-app" }
    ];
    itemsByContainerName: [
      { containerName: "Engineering Projects" },
      { containerName: "Product Backlog" }
    ];
  },
  {
    connectionId: "wikiconnector789";
    additionalSearchTerms: "space:ENGINEERING AND lastModified>now()-30d";
    itemsByContainerUrl: [
      { containerUrl: "https://wiki.contoso.com/ENGINEERING" },
      { containerUrl: "https://wiki.contoso.com/PRODUCT" }
    ];
  },
  {
    connectionId: "databaseconnector012";
    itemsByExternalId: [
      { externalId: "customer001" },
      { externalId: "customer002" },
      { externalId: "customer007" }
    ];
  }
]>;

AgentCapabilities.Dataverse

Indique que l’agent déclaratif peut rechercher des informations dans Microsoft Dataverse.

op dataverse is AgentCapabilities.Dataverse;

Paramètres

Nom Type Description
KnowledgeSources Tableau de DataverseKnowledgeSource Facultatif. Tableau d’objets qui identifient les sources de connaissances Dataverse disponibles pour l’agent déclaratif. Si cette propriété est omise, tous les environnements Dataverse accessibles sont disponibles pour l’agent déclaratif.

Modèles

DataverseKnowledgeSource

Représente une source de connaissances Dataverse.

Propriétés
Nom Type Description
hostName string Obligatoire. Nom d’hôte de l’environnement Dataverse.
skill string Facultatif. Identificateur de compétence pour la source de connaissances.
tables Tableau de DataverseTable Facultatif. Tableau de tables auxquelles l’agent déclaratif peut accéder. Si cette propriété est omise, toutes les tables accessibles dans l’environnement sont disponibles pour l’agent déclaratif.

DataverseTable

Représente une table Dataverse.

Propriétés
Nom Type Description
tableName string Obligatoire. Nom logique de la table.

Exemple

// Basic Dataverse with no restrictions
op dataverse is AgentCapabilities.Dataverse;

// Dataverse with specific environment
op dataverse is AgentCapabilities.Dataverse<KnowledgeSources = [
  {
    hostName: "contoso.crm.dynamics.com";
  }
]>;

// Dataverse with specific tables
op dataverse is AgentCapabilities.Dataverse<KnowledgeSources = [
  {
    hostName: "contoso.crm.dynamics.com";
    tables: [
      { tableName: "account" },
      { tableName: "contact" },
      { tableName: "opportunity" }
    ];
  }
]>;

// Dataverse with skill and tables
op dataverse is AgentCapabilities.Dataverse<KnowledgeSources = [
  {
    hostName: "contoso.crm.dynamics.com";
    skill: "sales-assistant";
    tables: [
      { tableName: "account" },
      { tableName: "lead" }
    ];
  }
]>;

AgentCapabilities.Email

Indique que l’agent déclaratif peut effectuer des recherches dans les e-mails dans les boîtes aux lettres auxquelles l’utilisateur a accès.

op email is AgentCapabilities.Email;

Paramètres

Nom Type Description
Folders Tableau de dossiers Facultatif. Tableau d’objets de dossiers.
SharedMailbox string Facultatif. Adresse SMTP d’une boîte aux lettres partagée.

Modèles

Folder

Propriétés
Nom Type Description
folderId string Obligatoire. Nom connu du dossier ou ID de dossier du dossier à référencer.

Exemple

// Basic email search with no restrictions
op email is AgentCapabilities.Email;

// Email search with specific well-known folders
op email is AgentCapabilities.Email<
  Folders = [
    { folderId: "Inbox" },
    { folderId: "SentItems" },
    { folderId: "Archive" }
  ]
>;

// Email search with shared mailbox access
op email is AgentCapabilities.Email<
  SharedMailbox = "support@contoso.com"
>;

// Email search with custom folders and shared mailbox
op email is AgentCapabilities.Email<
  Folders = [
    { folderId: "Inbox" }
  ],
  SharedMailbox = "legal@contoso.com"
>;

AgentCapabilities.GraphicArt

Indique que l’agent déclaratif peut créer des images et des illustrations en fonction de l’entrée de texte de l’utilisateur.

op graphicArt is AgentCapabilities.GraphicArt;

Exemple

op graphicArt is AgentCapabilities.GraphicArt;

AgentCapabilities.Meetings

Indique que l’agent déclaratif peut rechercher le contenu de la réunion.

op meetings is AgentCapabilities.Meetings;

Exemple

op meetings is AgentCapabilities.Meetings;

AgentCapabilities.OneDriveAndSharePoint

Indique que l’agent déclaratif peut rechercher des informations de base dans SharePoint et OneDrive d’un utilisateur.

op oneDriveAndSharePoint is AgentCapabilities.OneDriveAndSharePoint;

Paramètres

Nom Type Description
ItemsBySharePointIds Tableau de SharePointIds Facultatif. Tableau d’objets qui identifient les sources SharePoint ou OneDrive à l’aide d’ID. Si les ItemsBySharePointIds paramètres et ItemsByUrl sont omis, toutes les sources OneDrive et SharePoint dans le organization sont disponibles pour l’agent déclaratif.
ItemsByUrl Tableau de SharePointUrl Facultatif. Tableau d’objets qui identifient les sources SharePoint ou OneDrive par URL. Si les ItemsBySharePointIds paramètres et ItemsByUrl sont omis, toutes les sources OneDrive et SharePoint dans le organization sont disponibles pour l’agent déclaratif.

Modèles

SharePointIds

Contient un ou plusieurs identificateurs d’objet qui identifient une ressource SharePoint ou OneDrive.

Propriétés
Nom Type Description
itemId string Facultatif. Identificateur GUID unique utilisé pour définir l’étendue d’un dossier ou d’un fichier dans la bibliothèque de documents spécifiée par la propriété listId.
listId string Facultatif. Identificateur GUID unique pour une bibliothèque de documents au sein d’un site SharePoint.
siteId string Facultatif. Identificateur GUID unique pour un site SharePoint ou OneDrive.
webId string Facultatif. Identificateur GUID unique pour un site web spécifique au sein d’un site SharePoint ou OneDrive.

SharePointUrl

Représente l’URL d’une ressource SharePoint ou OneDrive.

Propriétés
Nom Type Description
url string Obligatoire. URL absolue d’une ressource SharePoint ou OneDrive.

Exemple

// Basic OneDrive and SharePoint with no restrictions
op oneDriveAndSharePoint is AgentCapabilities.OneDriveAndSharePoint;

// URL-based filtering for specific sites
op oneDriveAndSharePoint is AgentCapabilities.OneDriveAndSharePoint<
  ItemsBySharePointIds = [],
  ItemsByUrl = [
    { url: "https://contoso.sharepoint.com/sites/Engineering" },
    { url: "https://contoso.sharepoint.com/sites/ProductManagement" },
    { url: "https://contoso-my.sharepoint.com/personal/john_contoso_com" }
  ]
>;

// ID-based filtering with comprehensive site and document library scoping
op oneDriveAndSharePoint is AgentCapabilities.OneDriveAndSharePoint<
  ItemsBySharePointIds = [
    {
      siteId: "12345678-1234-1234-1234-123456789012";
      searchAssociatedSites: true;
    },
    {
      siteId: "87654321-4321-4321-4321-210987654321";
      webId: "11111111-2222-3333-4444-555555555555";
      listId: "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee";
    },
    {
      siteId: "99999999-8888-7777-6666-555555555555";
      webId: "ffffffff-dddd-cccc-3333-cccccccccccc";
      listId: "ffffffff-eeee-dddd-cccc-bbbbbbbbbbbb";
      itemId: "12121212-3434-5656-7878-909090909090";
    }
  ],
  ItemsByUrl = [
    { url: "https://contoso.sharepoint.com/sites/Engineering" }
  ]
>;

AgentCapabilities.People

Indique que l’agent déclaratif peut rechercher des informations sur les personnes dans le organization.

op people is AgentCapabilities.People;

Exemple

op people is AgentCapabilities.People;

AgentCapabilities.ScenarioModels

Indique que l’agent déclaratif peut utiliser des modèles spécifiques à une tâche.

op scenarioModels is AgentCapabilities.ScenarioModels<Models = [
  { id: "model-id" }
]>;

Paramètres

Nom Type Description
Models Tableau de ScenarioModel Obligatoire. Tableau d’objets qui identifie les modèles spécifiques à la tâche disponibles pour l’agent déclaratif.

Modèles

ScenarioModel

Identifie un modèle spécifique à une tâche.

Propriétés
Nom Type Description
id string Obligatoire. Identificateur unique du modèle.

Exemple

// Single specialized model for analytics
op scenarioModels is AgentCapabilities.ScenarioModels<Models = [
  { id: "financial-forecasting-model-v3" }
]>;

// Multiple models for different business scenarios
op scenarioModels is AgentCapabilities.ScenarioModels<Models = [
  { id: "sentiment-analysis-model" },
  { id: "document-classification-model" },
  { id: "risk-assessment-model" }
]>;

AgentCapabilities.TeamsMessages

Indique que l’agent déclaratif peut effectuer des recherches dans les canaux Teams, les équipes, les réunions, les conversations 1:1 et les conversations de groupe.

op teamsMessages is AgentCapabilities.TeamsMessages;

Paramètres

Nom Type Description
TeamsMessagesByUrl Tableau de TeamsMessagesUrl Facultatif. Tableau d’objets qui identifient les URL des canaux Teams, des conversations de réunion, des conversations de groupe ou des conversations 1:1 disponibles pour l’agent déclaratif. L’omission de cette propriété permet une recherche sans étendue dans tous les canaux, réunions, conversations 1:1 et conversations de groupe.

Modèles

TeamsMessagesUrl

Identifie un canal Teams, une équipe ou une conversation de réunion.

Propriétés
Nom Type Description
url string Obligatoire. URL Teams bien formatée qui établit un lien vers un canal Teams, une conversation de réunion, une conversation de groupe ou une conversation 1:1.

Exemple

// Basic Teams messages with no restrictions
op teamsMessages is AgentCapabilities.TeamsMessages;

// Teams messages limited to specific channels and chats
op teamsMessages is AgentCapabilities.TeamsMessages<TeamsMessagesByUrl = [
  { url: "https://teams.microsoft.com/l/channel/19%3a123abc...%40thread.skype/General?groupId=12345&tenantId=67890" },
  { url: "https://teams.microsoft.com/l/chat/19%3ameeting_abc123...%40thread.v2/0?context=%7b%22Tid%22%3a%22...%22%7d" },
  { url: "https://teams.microsoft.com/l/channel/19%3a456def...%40thread.tacv2/Engineering?groupId=54321&tenantId=09876" }
]>;

// Teams messages for project-specific channels
op teamsMessages is AgentCapabilities.TeamsMessages<TeamsMessagesByUrl = [
  { url: "https://teams.microsoft.com/l/channel/19%3aprojectA...%40thread.tacv2/Development?groupId=11111&tenantId=22222" },
  { url: "https://teams.microsoft.com/l/channel/19%3aprojectA...%40thread.tacv2/Testing?groupId=11111&tenantId=22222" },
  { url: "https://teams.microsoft.com/l/chat/19%3astandup_daily...%40thread.v2/0?context=%7b%22Tid%22%3a%22...%22%7d" }
]>;

AgentCapabilities.WebSearch

Indique que l’agent déclaratif peut rechercher des informations de base sur le web.

op webSearch is AgentCapabilities.WebSearch;

Paramètres

Nom Type Description
Sites Tableau de SiteUrl Facultatif. Tableau d’objets qui identifient les sites que l’agent est autorisé à rechercher. Si cette propriété est omise, tout l’agent est autorisé à effectuer des recherches sur tous les sites.

Modèles

SiteUrl

Indique un site qu’un agent déclaratif peut rechercher du contenu.

Propriétés
Nom Type Description
url string Obligatoire. URL absolue d’un site à rechercher.

Exemple

// Basic web search with no restrictions
op webSearch is AgentCapabilities.WebSearch;

// Web search limited to specific documentation sites
op webSearch is AgentCapabilities.WebSearch<Sites = [
  {
    url: "https://learn.microsoft.com";
  },
  {
    url: "https://docs.microsoft.com";
  },
  {
    url: "https://techcommunity.microsoft.com";
  }
]>;

// Web search for company-specific resources
op webSearch is AgentCapabilities.WebSearch<Sites = [
  {
    url: "https://company.com/knowledge-base";
  },
  {
    url: "https://support.company.com";
  }
]>;