Compartir a través de


Introducción a la Topics avanzada del agente de SharePoint Embedded

En esta guía avanzada se explica cómo el índice semántico impulsa la generación de Retrieval-Augmented (RAG) para proporcionar respuestas de inteligencia artificial precisas y compatibles con el contexto. Exploramos cómo funcionan conjuntamente estos conceptos para asegurarse de que el agente recupera información relevante de los datos y devuelve respuestas fundamentadas.

Advertencias

Configuración

Configuración de tipo de contenedor necesaria

DiscoverabilityDisabled

La discoverabilityDisabled propiedad controla si Microsoft 365 puede detectar elementos de unidad dentro de un tipo de contenedor específico.

Si va a actualizar un tipo de contenedor existente para establecer esta propiedad falseen , espere hasta 24 horas para que el cambio de configuración se propague por completo antes de:

  • Crear nuevos contenedores,
  • Carga de archivos en contenedores o
  • Uso del agente SPE para interactuar con carpetas o archivos.

Esto garantiza que el agente pueda acceder correctamente al contenido y exponerlo.

Este es un ejemplo de cómo establecer en discoverabilityDisabledfalse con Set-SPOContainerTypeConfiguration

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

La capacidad de detección también se puede deshabilitar mediante la extensión Visual Studio Code SharePoint Embedded

Uso de la extensión VS Code para SPE para establecer DiscoverabilityDisabled en false

Directivas de CSP

Content-Security-Policy (CSP) para hosts de chat incrustados garantiza que solo los hosts especificados puedan cargar el componente de chat. En concreto, la CopilotEmbeddedChatHosts configuración se usa en un encabezado Content-Security-Policy como un frame-ancestors valor. Esto ayuda a proteger la aplicación mediante la restricción de qué dominios pueden insertar el componente de chat.

El administrador de SPE en el inquilino propietario puede establecer esta configuración mediante el Set-SPOContainerTypeConfiguration cmdlet :

# 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}

Nota:

Si no se establece esta configuración, Content-Security-Policy se establece de forma predeterminada en frame-antecesores: "none", lo que significa que nadie puede insertar el agente.

Un administrador de SharePoint Embedded en un inquilino de consumo puede invalidar los valores especificados por la aplicación propietaria mediante los cmdlets de inquilino de consumo:

Nota:

Una invalidación de inquilino de consumo debe ser un subconjunto de lo que el inquilino propietario ha configurado para CopilotEmbeddedChatHosts. Un administrador de un inquilino que consume no puede establecer valores que el propietario de la aplicación no haya especificado para el tipo de contenedor. Las funcionalidades de invalidación están diseñadas para consumir administradores de inquilinos para habilitar el agente solo en un subconjunto de hosts definido por la aplicación propietaria.

Este es un ejemplo de cómo un inquilino que consume puede invalidar la configuración:

# 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}

Configuración opcional

Autenticación y cookies 3P

El iframe agente de SharePoint Embedded que usa autentica a los usuarios mediante cookies de terceros. Si las cookies de terceros están deshabilitadas en el explorador del usuario, el iframe no se puede autenticar automáticamente. En este caso, un elemento emergente solicita al usuario que inicie sesión manualmente, lo que garantiza que la autenticación todavía se puede completar.

Temas avanzados

Ámbito de la aplicación

El ámbito de la aplicación en el agente de SharePoint Embedded (agente SPE) implica definir los límites y el contexto en los que opera la herramienta, lo que garantiza que sus características y funcionalidades se adapten para satisfacer las necesidades específicas de las distintas aplicaciones. Este proceso ayuda a personalizar la funcionalidad del agente, lo que hace que sea más eficaz y relevante para varios casos de uso.

Cuando los usuarios del agente SPE consultan el LLM, solo tendrá acceso a los archivos a los que el usuario y la aplicación tienen acceso. Los permisos efectivos para la sesión del agente serán la intersección de los permisos de la aplicación de SharePoint Embedded y los permisos del usuario.

Diagrama de Venn con acceso a la aplicación SPE a la izquierda, agente SPE en medio y usuario de inquilino de consumo a la derecha, área superpuesta es a la que el agente puede acceder

Arquitectura de la información

Los archivos de SharePoint Embedded están indizados naturalmente semánticos. Este índice semántico respalda los flujos de trabajo de recuperación de generación aumentada (RAG) proporcionando contexto relevante del contenido almacenado en el momento de la consulta. En esencia, basa las respuestas de IA, asegurándose de que hacen referencia directamente a información precisa en los contenedores en lugar de depender solo de los conocimientos generales.

Funcionamiento de RAG en SPE

Con el agente de SharePoint Embedded, puede basar aún más la respuesta de modelos de lenguaje grande (LLM) en archivos o elementos de unidad específicos.

Índice semántico

Obtenga más información sobre el índice semántico para Microsoft 365 Copilot aquí

El índice semántico permite búsquedas rápidas y precisas en función de la similitud de los datos. Esto significa que puede encontrar la información más relevante no solo por coincidencias exactas, sino también por comprender el contexto y el significado.

Generación de Retrieval-Augmented (RAG)

RAG permite hacer referencia a los materiales de origen pertinentes almacenados en un repositorio en tiempo de ejecución. Los datos se recuperan del índice y se usan para aumentar el mensaje enviado al modelo de lenguaje grande (LLM). Algunas ventajas de RAG:

  • Tratar orígenes de datos como conocimiento sin tener que entrenar el modelo
  • Usa los resultados de búsqueda (recuperación) como contexto adicional en el símbolo del sistema
  • Genera la salida mediante el símbolo del sistema y el contexto proporcionado

El LLM usa los datos para informar y construir la respuesta.

Flujo de una consulta RAG

Tierra

La base en el contexto del agente SPE hace referencia al proceso de proporcionar orígenes de entrada al modelo de lenguaje grande (LLM) relacionado con el símbolo del usuario. Esto ayuda a mejorar la especificidad del aviso y garantiza que las respuestas son pertinentes y accionables para la tarea específica del usuario. Los datos en los que se basa el agente serán el contenido del tipo de contenedor en la aplicación del agente. En segundo plano, el agente de SPE usa Microsoft 365 Copilot. Obtenga más información sobre Microsoft 365 Copilot arquitectura.

Ámbito del agente a contenido específico

El agente de SharePoint Embedded (SPE) tiene la capacidad de restringir los orígenes de datos a los que tiene acceso. En el código de ejemplo siguiente se muestran los tipos de origen de datos disponibles. En este ejemplo se muestra cómo configurar el 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'
}

Tipos de documento admitidos para el ámbito

Referencia: compatibilidad con formatos de archivo por copilot

Documentos: PDF, DOCX, XLSX, PPTX

Archivos basados en texto: RTF, TXT, CSV, LOG, INI, CONFIG

Audio: WAV

Lenguajes de programación: PY, JS, JSX, JAVA, PHP, CS, C, CPP, CXX, H, HPP, M, COFFEE, DART, LUA, PL, PM, RB, RS, SWIFT, GO, KT, KTS, R, SCALA, T, TS, TSX

Scripts de shell: BASH, SH, ZSH

Marcado y documentación: HTML, CSS, MD, RMD, TEX, LATEX

Lenguajes de base de datos: SQL

Formatos de serialización de datos: IPYNB, JSON, TOML, YAML, YML

Idioma o configuración regional

El agente iframe carga dinámicamente la configuración de localización para asegurarse de que la interfaz de chat se muestra en el idioma adecuado. Esta configuración se deriva de SharePoint, que proporciona un conjunto completo de opciones de localización.

Cuando se inicializa el iframe del agente, recupera la configuración de localización actual de SharePoint. Esta configuración determina el idioma y las preferencias regionales para la interfaz de chat, lo que garantiza que todos los elementos, mensajes e interacciones de la interfaz de usuario se presentan en el idioma preferido del usuario.

Para que esto se haya localizado, establezca las opciones de idioma en la configuración de la cuenta de SharePoint: Cambiar la configuración de idioma personal y región: Soporte técnico de Microsoft.

Nota:

Si la configuración de idioma M365 es diferente de la configuración de idioma de la cuenta de SharePoint, la configuración de idioma M365 tiene prioridad. Puede cambiar la configuración de idioma M365 aquí: Cambiar el idioma para mostrar en Microsoft 365.

Se puede pasar una opción de configuración regional adicional a través de ChatLaunchConfig para establecer aún más el idioma en el que responde el agente:

 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",
    });
Opciones de configuración regional

Estos son algunos ejemplos de opciones de configuración regional que puede usar:

Código de configuración regional Nombre común
af Afrikáans
en-gb Inglés (Reino Unido)
he Hebreo
kok Konkani
nn-no Noruego (Nynorsk)
sr-latn-rs Serbio (latino, Serbia)
am-et Amhárico
es Español
hi Hindi
lb-lu Luxemburgués
or-in Odia (India)
sv Sueco
ar Arabic
es-mx Español (México)
hr Croatian
lo Lao
pa Punyabí
ta Tamil
as-in Asamés
et Estonian
hu Húngaro
lt Lithuanian
pl Polaco
te Telugu
az-Latn-az Azerbaiyano (latín, Azerbaiyán)
eu Basque
hy Armenio
lv Latvian
pt-br Portugués (Brasil)
th Tailandés
bg Bulgarian
fa Persa
id Indonesio
mi-nz Maorí (Nueva Zelanda)
pt-pt Portugués (Portugal)
tr Turco
bs-Latn-BA Bosnio (latino, Bosnia y Herzegovina)
fi Finnish
is Islandés
mk Macedonio
quz-pe Quechua (Perú)
tt Tártaro
ca-es-valencia Catalán (valenciano)
fil-ph Filipino (Filipinas)
it Italiano
Ml Malayalam
ro Rumano
Ug Uigur
ca Catalán
fr-ca Francés (Canadá)
ja Japonés
mr Maratí
ru Ruso
uk Ucraniano
cs Checo
fr Francés
ka Georgiano
ms Malay
sk Slovak
ur Urdú
cy-gb Gales (Reino Unido)
ga-ie Irlandés (Irlanda)
kk Kazajo
mt-mt Maltés (Malta)
sl Esloveno
uz-latn-uz Uzbeko (latín, Uzbekistán)
da Danés
Gd Gaélico escocés
km-kh khmer (Camboya)
nb-no Noruego (bokmal)
sq Albanés
vi Vietnamese
de Alemán
gl Galician
kn Kannada
ne-np Nepalí (Nepal)
sr-cyrl-ba Serbio (cirílico, Bosnia y Herzegovina)
zh-cn Chino (simplificado)
el Griego
gu Gujarati
ko Coreano
nl Neerlandés
sr-cyrl-rs Serbio (cirílico, Serbia)
zh-tw Chino (tradicional)