Lire en anglais

Partager via


Vue d’ensemble de l’Topics avancée copilote 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 allons explorer comment ces concepts fonctionnent ensemble pour vous assurer que votre copilote récupère des informations pertinentes à partir de vos données et retourne des réponses ancrées.

Avertissements

Configuration

Configuration de ContainerType requise

DétectabilitéDisabled

Cet indicateur empêche copilote de découvrir les éléments de lecteur dans le type de conteneur spécifié. Si vous avez un type de conteneur existant et que vous définissez cette valeur sur false, patientez 24 heures pour vous assurer que la configuration du type de conteneur est entièrement propagée avant de créer un conteneur, de charger des fichiers à cet emplacement et d’essayer copilot sur les dossiers/fichiers de ce nouveau conteneur.

Voici un exemple de définition de l’indicateur 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. Cela permet de sécuriser l’application en limitant les domaines qui peuvent incorporer le composant de conversation.

Il est destiné à permettre aux administrateurs SPE de client consommant de définir une liste d’autorisations d’hôtes qu’ils autorisent à incorporer le copilote SPE dans un iFrame. Plus précisément, la valeur qu’ils définissent ici sera utilisée dans un en-tête Content-Security-Policy comme valeur frame-ancestors.

Notes

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 le copilote.

Voici des exemples de commandes pour utiliser se connecter à SharePoint Online à l’aide des commandes PowerShell :

# 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 423poi45 -CopilotEmbeddedChatHosts "http://localhost:3000 https://contoso.sharepoint.com https://fabrikam.com" 

# This will set the container type configuration “CopilotEmbeddedChatHosts” accordingly. 
...

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

OwningApplicationId             : <OwningApplicationId>
OwningApplicationName           : SharePoint Embedded App
Applications                    : {<OwningApplicationId>}
SharingCapability               : ExternalUserAndGuestSharing
OverrideTenantSharingCapability : False
CopilotEmbeddedChatHosts        : {http://localhost:*}

Configuration facultative

Cookies d’authentification et 3P

L’iFrame utilisé par le copilote SharePoint Embedded tente de s’authentifier à 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 s’affiche pour inviter l’utilisateur final à se connecter manuellement. Cela garantit que le processus d’authentification peut toujours être terminé même lorsque les cookies tiers ne sont pas disponibles.

Rubriques avancées

Étendue de l’application

L’étendue des applications dans SharePoint Embedded copilot (SPE copilot) implique de 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 du copilote, ce qui la rend plus efficace et pertinente pour différents cas d’usage.

Lorsque les utilisateurs du copilote 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 copilote seront l’intersection des autorisations de votre application SharePoint Embedded et des autorisations de l’utilisateur.

Diagramme de Venn avec accès à l’application SPE sur la gauche, copilote SPE au milieu et utilisateur client consommateur à droite, zone superposée est ce que copilot 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 le copilote SharePoint Embedded, vous pouvez approfondir les reponses LLM (Modèles de langage volumineux) 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 s’appuie sur le stockage des documents sources pertinents dans un référentiel, qui peut être interrogé lors de l’exécution, les données sont récupérées à partir de l’index et utilisées pour augmenter l’invite envoyée au modèle LLM (Large Language Model) :

  • 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 terre dans le contexte du copilote 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 le copilote est mis à la terre se trouveront sur le contenu du type de conteneur dans l’application copilote. En arrière-plan SPE copilot utilise M365 Copilot, en savoir plus sur son architecture ici

Étendre votre copilote à un contenu spécifique

Le copilote SharePoint Embedded (SPE) a la possibilité de restreindre les sources de données auxquelles il a accès. Les types fournis ci-dessous sont fournis, et 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’iframe copilot 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 copilot 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. Cette intégration transparente à l’infrastructure de localisation de SharePoint permet à Copilot de fournir un

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 M365 est différent de celui de votre compte Sharepoint, il sera prioritaire, vous pouvez modifier vos paramètres 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 le copilote répondra :

 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)