Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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
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 :
-
Set-SPOApplication pour définir la
CopilotEmbeddedChatHostspropriété . -
Get-SPOApplication pour obtenir la
CopilotEmbeddedChatHostspropriété .
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.
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.
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.
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) |