Partager via


Vue d’ensemble des Topics avancées de l’agent SharePoint Embedded

Ce guide avancé explique comment l’index sémantique alimente Retrieval-Augmented Generation (RAG) pour fournir des réponses d’IA précises et contextuelles. Nous explorons comment ces concepts fonctionnent ensemble pour garantir que votre agent récupère les informations pertinentes à partir de vos données et retourne des réponses basées.

Avertissements

Configuration

Configuration requise du type de conteneur

DétectabilitéDisabled

La discoverabilityDisabled propriété contrôle si Microsoft 365 peut détecter des éléments de lecteur dans un type de conteneur spécifique.

Si vous mettez à jour un type de conteneur existant pour définir cette propriété sur false, autorisez jusqu’à 24 heures pour que la modification de la configuration se propage entièrement avant :

  • Création de conteneurs,
  • Chargement de fichiers dans des conteneurs, ou
  • Utilisation de l’agent SPE pour interagir avec des dossiers ou des fichiers.

Cela garantit que l’agent peut accéder correctement au contenu et le faire apparaître.

Voici un exemple montrant comment définir discoverabilityDisabled sur false avec Set-SPOContainerTypeConfiguration

Set-SPOContainerTypeConfiguration -ContainerTypeId 4f0af585-8dcc-0000-223d-661eb2c604e4 -DiscoverabilityDisabled $false

La détectabilité peut également être désactivée à l’aide de l’extension Visual Studio Code SharePoint Embedded

Utilisation de l’extension VS Code pour SPE afin de définir DiscoverabilityDisabled sur false

Stratégies CSP

Content-Security-Policy (CSP) pour les hôtes de conversation incorporés garantit que seuls les hôtes spécifiés peuvent charger le composant de conversation. Plus précisément, le CopilotEmbeddedChatHosts paramètre est utilisé dans un en-tête Content-Security-Policy comme frame-ancestors valeur. Cela permet de sécuriser l’application en limitant les domaines qui peuvent incorporer le composant de conversation.

L’administrateur SPE sur le locataire propriétaire peut définir ce paramètre à l’aide de l’applet de Set-SPOContainerTypeConfiguration commande :

# Note this MUST be run in Windows PowerShell. It will not work in PowerShell.
Import-Module -Name "Microsoft.Online.SharePoint.PowerShell"
Connect-SPOService "https://<domain>-admin.sharepoint.com"
# Login with your admin account.
# ...

Set-SPOContainerTypeConfiguration -ContainerTypeId XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX -CopilotEmbeddedChatHosts @("http://localhost:3000", "https://contoso.sharepoint.com", "https://fabrikam.com")

# This will set the container type configuration “CopilotEmbeddedChatHosts” accordingly. 
# Replication of this configuration on consuming tenants can take up to 24 hours
# ...

# Confirm setting value
Get-SPOContainerTypeConfiguration -ContainerTypeId XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

# On a consuming tenant, you may confirm the setting value as follows
Get-SPOApplication -OwningApplicationId <OwningApplicationId> | Select-Object CopilotEmbeddedChatHosts

OwningApplicationId             : <OwningApplicationId>
OwningApplicationName           : SharePoint Embedded App
Applications                    : {<OwningApplicationId>}
CopilotEmbeddedChatHosts        : {http://localhost:3000, https://contoso.sharepoint.com, https://fabrikam.com}

Remarque

Si cette configuration n’est pas définie, content-security-policy est défini par défaut sur frame-ancestors : « none », ce qui signifie que personne ne peut incorporer l’agent.

Un administrateur SharePoint Embedded sur un locataire consommateur peut remplacer les valeurs spécifiées par l’application propriétaire, à l’aide des applets de commande client consommatrices :

Remarque

Un remplacement de locataire consommateur doit être un sous-ensemble de ce que le locataire propriétaire a configuré pour CopilotEmbeddedChatHosts. Un administrateur dans un locataire consommateur ne peut pas définir des valeurs que le propriétaire de l’application n’a pas spécifiées pour le type de conteneur. Les fonctionnalités de remplacement sont destinées à consommer des administrateurs clients pour activer l’agent uniquement dans un sous-ensemble d’hôtes que l’application propriétaire a défini.

Voici un exemple de la façon dont un locataire consommateur peut remplacer le paramètre :

# Note this MUST be run in Windows PowerShell. It will not work in PowerShell.
Import-Module -Name "Microsoft.Online.SharePoint.PowerShell"
Connect-SPOService "https://<domain>-admin.sharepoint.com"
# Login with your admin account.
# ...

Set-SPOApplication -OwningApplicationId  XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX -CopilotEmbeddedChatHosts @("https://contoso.sharepoint.com", "https://fabrikam.com") 

# This will set the container type configuration “CopilotEmbeddedChatHosts” accordingly
# Note that @("https://contoso.sharepoint.com", "https://fabrikam.com") is a subset of what we defined in the owning tenant
# Those values were @("http://localhost:3000", "https://contoso.sharepoint.com", "https://fabrikam.com")

# Confirm the configuration

Get-SPOApplication -OwningApplicationId <OwningApplicationId> | Select-Object CopilotEmbeddedChatHosts

OwningApplicationId             : <OwningApplicationId>
OwningApplicationName           : SharePoint Embedded App
Applications                    : {<OwningApplicationId>}
CopilotEmbeddedChatHosts        : {https://contoso.sharepoint.com, https://fabrikam.com}

Configuration facultative

Cookies d’authentification et 3P

Le iframe utilisé par l’agent SharePoint Embedded authentifie les utilisateurs à l’aide de cookies tiers. Si les cookies tiers sont désactivés dans le navigateur de l’utilisateur, l’iframe ne peut pas s’authentifier automatiquement. Dans ce cas, une fenêtre contextuelle invite l’utilisateur à se connecter manuellement, garantissant ainsi que l’authentification peut toujours être effectuée.

Rubriques avancées

Étendue de l’application

L’étendue des applications dans l’agent SharePoint Embedded (agent SPE) consiste à définir les limites et le contexte dans lesquels l’outil fonctionne, en s’assurant que ses fonctionnalités et fonctionnalités sont adaptées aux besoins spécifiques des différentes applications. Ce processus permet de personnaliser les fonctionnalités de l’agent, ce qui les rend plus efficaces et plus pertinentes pour différents cas d’usage.

Lorsque les utilisateurs de l’agent SPE interrogent le LLM, il n’a accès qu’aux fichiers auxquels l’utilisateur+application a accès. Les autorisations effectives pour la session de l’agent sont l’intersection des autorisations de votre application SharePoint Embedded et des autorisations de l’utilisateur.

Diagramme de Venn avec l’accès à l’application SPE à gauche, l’agent SPE au milieu et l’utilisateur client consommateur à droite, zone superposée est à laquelle l’agent peut accéder

Architecture des informations

Les fichiers dans SharePoint Embedded sont naturellement indexés sémantiquement. Cet index sémantique sous-tend les flux de travail de génération augmentée de récupération (RAG) en fournissant un contexte pertinent à partir de votre contenu stocké au moment de la requête. En substance, il base les réponses de l’IA, en s’assurant qu’elles référencent directement des informations précises dans vos conteneurs plutôt que de s’appuyer uniquement sur les connaissances générales.

Fonctionnement de RAG dans SPE

Avec l’agent SharePoint Embedded, vous pouvez renforcer la réponse des modèles de langage volumineux (LLM) sur des fichiers ou des éléments de lecteur spécifiques.

Index sémantique

En savoir plus sur l’index sémantique pour Microsoft 365 Copilot ici

L’index sémantique permet des recherches rapides et précises basées sur la similarité des données. Cela signifie qu’il peut trouver les informations les plus pertinentes non seulement par des correspondances exactes, mais aussi en comprenant le contexte et la signification.

Retrieval-Augmented Generation (RAG)

RAG vous permet de référencer des matériaux sources pertinents stockés dans un référentiel au moment de l’exécution. Les données sont récupérées à partir de l’index et sont utilisées pour augmenter l’invite envoyée au modèle LLM (Large Language Model). Voici quelques avantages de RAG :

  • Traiter les sources de données comme des connaissances sans avoir à effectuer l’apprentissage de votre modèle
  • Utilise les résultats de recherche (récupération) comme contexte supplémentaire dans votre invite
  • Génère la sortie à l’aide de l’invite et du contexte fourni

Le LLM utilise les données pour informer et construire la réponse.

Flux d’une requête RAG

Terre

La mise à la base dans le contexte de l’agent SPE fait référence au processus de fourniture de sources d’entrée au modèle LLM (Large Language Model) associé à l’invite de l’utilisateur. Cela permet d’améliorer la spécificité de l’invite et de garantir que les réponses sont pertinentes et exploitables pour la tâche spécifique de l’utilisateur. Les données sur laquelle l’agent est basé sont le contenu du type de conteneur dans l’application de l’agent. En arrière-plan, l’agent SPE utilise Microsoft 365 Copilot. En savoir plus sur l’architecture Microsoft 365 Copilot.

Étendre votre agent à un contenu spécifique

L’agent SharePoint Embedded (SPE) a la possibilité de restreindre les sources de données auxquelles il a accès. L’exemple de code ci-dessous montre les types de sources de données disponibles. Cet exemple montre comment configurer le Kit de développement logiciel (SDK).

export type IDataSourcesProps =
  | IFileDataSource
  | IFolderDataSource
  | IDocumentLibraryDataSource
  | ISiteDataSource
  | IWorkingSetDataSource
  | IMeetingDataSource;

export enum DataSourceType {
  File = 'File',
  Folder = 'Folder',
  DocumentLibrary = 'DocumentLibrary',
  Site = 'Site',
  WorkingSet = 'WorkingSet',
  Meeting = 'Meeting'
}

Types de documents pris en charge pour l’étendue

Référence - Prise en charge des formats de fichier par copilot

Documents : PDF, DOCX, XLSX, PPTX

Fichiers texte : RTF, TXT, CSV, LOG, INI, CONFIG

Audio : WAV

Langages de programmation : PY, JSX, JAVA, PHP, CS, CS, CPP, CXX, H, HPP, M, COFFEE, DART, LUA, PL, PM, RB, RS, SWIFT, GO, KT, KTS, R, SCALA, T, TS, TSX

Scripts shell : BASH, SH, ZSH

Balisage et documentation : HTML, CSS, MD, RMD, TEX, LATEX

Langages de base de données : SQL

Formats de sérialisation des données : IPYNB, JSON, TOML, YAML, YML

Langue/paramètres régionaux

L’agent iframe charge dynamiquement les paramètres de localisation pour s’assurer que l’interface de conversation est affichée dans la langue appropriée. Ces paramètres sont dérivés de SharePoint, qui fournit un ensemble complet d’options de localisation.

Lorsque l’iframe de l’agent est initialisé, il récupère les paramètres de localisation actuels à partir de SharePoint. Ces paramètres déterminent la langue et les préférences régionales de l’interface de conversation, garantissant que tous les éléments, messages et interactions de l’interface utilisateur sont présentés dans la langue préférée de l’utilisateur.

Vous pouvez la localiser en définissant vos options de langue dans les paramètres du compte SharePoint : Modifier vos paramètres de langue et de région personnels - Support Microsoft.

Remarque

Si votre paramètre de langue M365 est différent du paramètre de langue de votre compte SharePoint, votre paramètre de langue M365 est prioritaire. Vous pouvez modifier votre paramètre de langue M365 ici : Modifier votre langue d’affichage dans Microsoft 365.

Une option de paramètres régionaux supplémentaire peut être transmise via le ChatLaunchConfig pour définir davantage la langue dans laquelle l’agent répond :

 const [chatConfig] = React.useState<ChatLaunchConfig>({
        header: ChatController.instance.header,
        theme: ChatController.instance.theme,
        zeroQueryPrompts: ChatController.instance.zeroQueryPrompts,
        suggestedPrompts: ChatController.instance.suggestedPrompts,
        instruction: ChatController.instance.pirateMetaPrompt,
        locale: "en",
    });
Options de paramètres régionaux

Voici quelques exemples d’options de paramètres régionaux que vous pouvez utiliser :

Code des paramètres régionaux Nom commun
af Afrikaans
en-gb Anglais (Royaume-Uni)
he Hébreu
kok Konkani
nn-no Norvégien (nynorsk)
sr-latn-rs Serbe (latin, Serbie)
am-et Amharique
es Espagnol
hi Hindi
lb-lu Luxembourgeois
or-in Odia (Inde)
sv Suédois
ar Arabe
es-mx Espagnol (Mexique)
hr Croate
voilà Lao
pa Pendjabi
ta Tamoul
as-in Assamais
et Estonien
hu Hongrois
lt Lituanien
pl Polonais
te Télougou
az-latn-az Azerbaïdjan (Latin, Azerbaïdjan)
eu Basque
hy Arménien
lv Letton
pt-br Portugais (Brésil)
th Thaï
bg Bulgare
fa Perse
id Indonésien
mi-nz Maori (Nouvelle-Zélande)
pt-pt Portugais (Portugal)
tr Turc
bs-latn-ba Bosniaque (latin, Bosnie-Herzégovine)
fi Finnois
is Islandais
mk Macédonien (Ex-Rép. yougoslave de Macédoine)
quz-pe Quechua (Pérou)
tt Tatar
ca-es-valencia Catalan (valencien)
fil-ph Filipino (Philippines)
it Italien
ml Malayalam
ro Roumain
Ug Ouïgour
ca Catalan
fr-ca Français (Canada)
ja Japonais
mr Marathe
ru Russe
uk Ukrainien
cs Tchèque
fr Français
ka Géorgien
ms Malay
sk Slovaque
ur Ourdou
cy-gb Gallois (Royaume-Uni)
ga-ie Irlandais (Irlande)
kk Kazakh
mt-mt Maltais (Malte)
sl Slovène
uz-latn-uz Ouzbek (latin, Ouzbékistan)
da Danois
Gd Gaélique écossais (Royaume-Uni)
km-kh Khmer (Cambodge)
nb-no Norvégien (Bokmål)
sq Albanais
vi Vietnamien
de Allemand
gl Galicien
kn Kannada
ne-np Népalais (Népal)
sr-cyrl-ba Serbe (cyrillique, Bosnie-Herzégovine)
zh-cn Chinois (simplifié)
el Grec
gu Goudjrati
ko Coréen
nl Néerlandais
sr-cyrl-rs Serbe (cyrillique, Serbie)
zh-tw Chinois (traditionnel)