Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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
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:
-
Set-SPOApplication para establecer la
CopilotEmbeddedChatHostspropiedad . -
Get-SPOApplication para obtener la
CopilotEmbeddedChatHostspropiedad .
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.
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.
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.
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) |