Compartilhar via


Descrição Geral do Topics Avançado do agente Do SharePoint Embedded

Este guia avançado aborda a forma como o índice semântico alimenta a Geração de Retrieval-Augmented (RAG) para fornecer respostas de IA precisas e conscientes do contexto. Exploramos a forma como estes conceitos funcionam em conjunto para garantir que o agente obtém informações relevantes dos seus dados e devolve respostas fundamentadas.

Advertências

Configuração

Configuração do Tipo de Contentor Necessária

DiscoverabilityDisabled

A discoverabilityDisabled propriedade controla se o Microsoft 365 pode detetar itens de unidade num tipo de contentor específico.

Se estiver a atualizar um tipo de contentor existente para definir esta propriedade como false, aguarde até 24 horas para que a alteração de configuração seja totalmente propagada antes de:

  • A criar novos contentores,
  • Carregar ficheiros para contentores ou
  • Utilizar o agente SPE para interagir com pastas ou ficheiros.

Isto garante que o agente pode aceder e apresentar corretamente o conteúdo.

Eis um exemplo de como definir discoverabilityDisabledfalse como com Set-SPOContainerTypeConfiguration

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

A deteção também pode ser desativada com a extensão Visual Studio Code SharePoint Embedded

Utilizar a extensão do VS Code para SPE para definir DiscoverabilityDisabled como falso

Políticas CSP

O Content-Security-Policy (CSP) para anfitriões de chat incorporados garante que apenas os anfitriões especificados podem carregar o componente de chat. Especificamente, a CopilotEmbeddedChatHosts definição é utilizada num cabeçalho Content-Security-Policy como um frame-ancestors valor. Isto ajuda a proteger a aplicação ao restringir os domínios que podem incorporar o componente de chat.

O Administrador do SPE no inquilino proprietário pode definir esta definição com o 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}

Observação

Se esta configuração não estiver definida, a Política de Segurança de Conteúdo está predefinida como frame-ancestors: "none", o que significa que ninguém pode incorporar o agente.

Um Administrador Do SharePoint Embedded num inquilino consumidor pode substituir os valores especificados pela aplicação proprietária, utilizando os cmdlets de inquilino que consomem:

Observação

Uma substituição de inquilino consumidor tem de ser um subconjunto do que o inquilino proprietário configurou para CopilotEmbeddedChatHosts. Um administrador num inquilino consumidor não pode definir valores que o proprietário da aplicação não especificou para o tipo de contentor. As capacidades de substituição destinam-se a consumir administradores inquilinos para ativar o agente apenas num subconjunto de anfitriões definido pela aplicação proprietária.

Eis um exemplo de como um inquilino consumidor pode substituir a definição:

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

Configuração Opcional

Autenticação e Cookies 3P

O iframe utilizado pelo agente do SharePoint Embedded autentica os utilizadores através de cookies de terceiros. Se os cookies de terceiros estiverem desativados no browser do utilizador, o iframe não pode ser autenticado automaticamente. Neste caso, um pop-up pede ao utilizador para iniciar sessão manualmente, garantindo que a autenticação ainda pode ser concluída.

Tópicos avançados

Âmbito da Aplicação

O âmbito da aplicação no agente Do SharePoint Embedded (agente SPE) envolve definir os limites e o contexto em que a ferramenta funciona, garantindo que as suas funcionalidades e capacidades são adaptadas para satisfazer as necessidades específicas de diferentes aplicações. Este processo ajuda a personalizar a funcionalidade do agente, tornando-a mais eficaz e relevante para vários casos de utilização.

Quando os utilizadores do agente SPE consultam o LLM, este só terá acesso aos ficheiros aos quais o Utilizador+Aplicação tem acesso. As permissões efetivas para a sessão do agente serão a interseção das permissões da sua aplicação Do SharePoint Embedded e das permissões do utilizador.

Diagrama Venn com acesso à aplicação SPE à esquerda, agente SPE no meio e a consumir utilizador inquilino à direita, área sobreposta é a que o agente pode aceder

Arquitetura de Informações

Os ficheiros no SharePoint Embedded são naturalmente semânticos indexados. Este índice semântico sustenta fluxos de trabalho de geração aumentada (RAG) de obtenção ao fornecer contexto relevante do conteúdo armazenado no momento da consulta. Essencialmente, fundamenta as respostas de IA, garantindo que referenciam diretamente informações precisas nos seus contentores, em vez de dependerem apenas do conhecimento geral.

Como funciona o RAG no SPE

Com o agente Do SharePoint Embedded, pode obter mais informações sobre a resposta de modelos de linguagem grandes (LLM) em ficheiros específicos ou itens de unidade.

Índice semântico

Saiba mais sobre o índice semântico para Microsoft 365 Copilot aqui

O índice semântico permite pesquisas rápidas e precisas com base na semelhança de dados. Isto significa que pode encontrar as informações mais relevantes não só por correspondências exatas, mas também por compreender o contexto e o significado.

Retrieval-Augmented Generation (RAG)

O RAG permite-lhe referenciar materiais de origem relevantes armazenados num repositório no runtime. Os dados são obtidos a partir do índice e são utilizados para aumentar o pedido enviado para o modelo de linguagem grande (LLM). Alguns benefícios do RAG:

  • Tratar as origens de dados como conhecimento sem ter de preparar o modelo
  • Utiliza os resultados de pesquisa (obtenção) como contexto adicional no seu pedido
  • Gera o resultado com o pedido e o contexto fornecido

O LLM utiliza os dados para informar e construir a resposta.

O fluxo de uma consulta RAG

Terra

A base no contexto do agente SPE refere-se ao processo de fornecer origens de entrada ao modelo de linguagem grande (LLM) relacionado com o pedido do utilizador. Isto ajuda a melhorar a especificidade do pedido e garante que as respostas são relevantes e acionáveis para a tarefa específica do utilizador. Os dados em que o agente está ligado serão os conteúdos do tipo de contentor na aplicação do agente. Nos bastidores, o agente SPE utiliza Microsoft 365 Copilot. Saiba mais sobre Microsoft 365 Copilot arquitetura.

Âmbito do agente para conteúdo específico

O agente do SharePoint Embedded (SPE) tem a capacidade de restringir as origens de dados às quais tem acesso. O código de exemplo abaixo mostra os tipos de origem de dados disponíveis. Este exemplo mostra como configurar o 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 suportados para âmbito

Referência - Suporte de Formatos de Ficheiro Por copilot

Documentos: PDF, DOCX, XLSX, PPTX

Ficheiros baseados em texto: RTF, TXT, CSV, LOG, INI, CONFIG

Áudio: WAV

Linguagens de Programação: 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 da Shell: BASH, SH, ZSH

Markup e Documentação: HTML, CSS, MD, RMD, TEX, LATEX

Linguagens da Base de Dados: SQL

Formatos de Serialização de Dados: IPYNB, JSON, TOML, YAML, YML

Idioma/Região

O agente iframe carrega dinamicamente as definições de localização para garantir que a interface de chat é apresentada no idioma adequado. Estas definições derivam do SharePoint, que fornece um conjunto abrangente de opções de localização.

Quando o iframe do agente é inicializado, obtém as definições de localização atuais do SharePoint. Estas definições ditam o idioma e as preferências regionais para a interface de chat, garantindo que todos os elementos, mensagens e interações da IU são apresentados no idioma preferencial do utilizador.

Pode ter esta localização ao definir as opções de idioma nas definições da conta do SharePoint: Alterar as definições de idioma pessoal e região - Suporte da Microsoft.

Observação

Se a definição de idioma do M365 for diferente da definição de idioma da sua conta do SharePoint, a definição de idioma do M365 tem precedência. Pode alterar a definição de idioma do M365 aqui: Alterar o idioma de apresentação no Microsoft 365.

Uma opção de região adicional pode ser transmitida através do ChatLaunchConfig para definir ainda mais o idioma em que o agente responde:

 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",
    });
Opções de Região

Eis alguns exemplos de opções de região que pode utilizar:

Código de Região Nome Comum
af Africâner
en-gb Inglês (Reino Unido)
he Hebraico
kok Concani
nn-no Norueguês (Nynorsk)
sr-latn-rs Sérvio (latino, Sérvia)
am-et Amárico
sd Espanhol
Olá Híndi
lb-lu Luxemburguês
or-in Odia (Índia)
sv Sueco
ar Árabe
es-mx Espanhol (México)
hr Croatian
lo Lao
pa Punjabi
ta Tamil
as-in Assamês
et Estonian
hu Húngaro
lt Lithuanian
pl Polonês
te Telugu
az-Latn-az Azerbaijão (Latim, Azerbaijão)
eu Basque
hy Armênio
lv Latvian
pt-br Português (Brasil)
th Tailandês
bg Bulgarian
fa Persa
id Indonésio
mi-nz Maori (Nova Zelândia)
pt-pt Português (Portugal)
tr Turco
bs-latn-ba Bósnio (Latim, Bósnia e Herzegovina)
fi Finnish
é Islandês
mk Macedônio
quz-pe Quíchua (Peru)
tt Tártaro
ca-es-valencia Catalão (Valência)
fil-ph Filipino (Filipinas)
it Italiano
ml Malaiala
ro Romeno
ug Uyghur
ca Catalão
fr-ca Francês (Canadá)
ja Japonês
sr. Marata
ru Russo
uk Ucraniano
cs Tcheco
fr Francês
ka Georgiano
ms Malay
sk Slovak
o seu Urdu
cy-gb Galês (Reino Unido)
ga-ie Irlandês (Irlanda)
kk Cazaque
mt-mt Maltês (Malta)
sl Esloveno
uz-latn-uz Usbeque (Latim, Usbequistão)
da Dinamarquês
gd Gaélico Escocês
km-kh Khmer (Cambodja)
nb-no Norueguês (Bokmål)
sq Albanês
vi Vietnamese
de Alemão
gl Galician
kn Kannada
np-ne Nepalês (Nepal)
sr-cyrl-ba Sérvio (Cirílico, Bósnia e Herzegovina)
zh-cn Chinês (simplificado)
el Grego
gu Gujarati
ko Coreano
nl Holandês
sr-cyrl-rs Sérvio (cirílico, Sérvia)
zh-tw Chinês (tradicional)