Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Observação
Esta funcionalidade está atualmente em pré-visualização pública. Esta pré-visualização é fornecida sem um contrato de nível de serviço e não é recomendada para cargas de trabalho de produção. Algumas funcionalidades poderão não ser suportadas ou poderão ter capacidades limitadas. Para mais informações, consulte Termos de Utilização Suplementares para Microsoft Azure Pré-visualizações.
Uma fonte de conhecimento SharePoint remota utiliza a API de Recuperação do Copilot para consultar conteúdo textual diretamente do SharePoint no Microsoft 365. Não é necessário índice de pesquisa nem cadeia de ligação. Apenas o conteúdo textual é consultado e o uso é faturado através do Microsoft 365 e de uma licença Copilot.
Para limitar os sites ou restringir a pesquisa, defina uma expressão de filtro para definir o âmbito por URLs, intervalos de datas, tipos de ficheiros e outros metadados. A identidade do chamador deve ser reconhecida tanto pelo tenant Azure como pelo tenant Microsoft 365 porque o motor de recuperação consulta o SharePoint em nome do utilizador.
Como em qualquer outra fonte de conhecimento, especifica uma fonte remota de SharePoint de conhecimento numa base de conhecimento e usa os resultados como dados de base quando um agente ou chatbot chama uma ação retrieve no momento da consulta.
Suporte de utilização
| Portal do Azure | Microsoft Foundry portal | .NET SDK | Python SDK | Java SDK | JavaScript SDK | API REST |
|---|---|---|---|---|---|---|
| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Pré-requisitos
Pesquisa de IA do Azure em qualquer região que forneça recuperação baseada em agente. Deve ter o ranker semântico ativado.
SharePoint num tenant Microsoft 365 que está sob o mesmo tenant do Microsoft Entra ID que o Azure.
Uma licença Microsoft 365 Copilot para acesso em tempo de consulta a conteúdos SharePoint.
Permissão para criar e usar objetos no Pesquisa de IA do Azure. Recomendamos acesso baseado em funções, mas pode usar chaves API se a atribuição de funções não for viável. Para mais informações, consulte Ligar-se a um serviço de pesquisa.
- O mais recente pacote de pré-visualização
Azure.Search.Documents:dotnet add package Azure.Search.Documents --prerelease
- O mais recente pacote de pré-visualização
azure-search-documents:pip install --pre azure-search-documents
- A versão de pré-visualização de 2025-11-01 - das APIs REST do Serviço de Pesquisa.
Limitações
As seguintes limitações na API Copilot Retrieval aplicam-se a fontes remotas de conhecimento SharePoint.
Não há suporte para conectores Copilot nem para conteúdos do OneDrive. O conteúdo é retirado apenas de sites SharePoint.
Limite de 200 pedidos por utilizador por hora.
Limite de caracteres de consulta de 1.500 caracteres.
Consultas híbridas são suportadas apenas para as seguintes extensões de ficheiro: .doc, .docx, .pptx, .pdf, .aspx e .one.
A recuperação multimodal (conteúdo não textual, incluindo tabelas, imagens e gráficos) não é suportada.
Um máximo de 25 resultados de uma consulta.
Os resultados são retornados pela API de Recuperação do Copilot de forma não ordenada.
Expressões de filtro inválidas da Linguagem de Consulta de Palavras-Chave (KQL) são ignoradas e a consulta continua a ser executada sem o filtro.
Verifique se há fontes de conhecimento existentes
Uma fonte de conhecimento é um objeto reutilizável de nível superior. Conhecer as fontes de conhecimento existentes é útil para reutilizar ou nomear novos objetos.
Execute o seguinte código para listar as fontes de conhecimento por nome e tipo.
// List knowledge sources by name and type
using Azure.Search.Documents.Indexes;
var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential);
var knowledgeSources = indexClient.GetKnowledgeSourcesAsync();
Console.WriteLine("Knowledge Sources:");
await foreach (var ks in knowledgeSources)
{
Console.WriteLine($" Name: {ks.Name}, Type: {ks.GetType().Name}");
}
Você também pode retornar uma única fonte de conhecimento pelo nome para revisar sua definição JSON.
using Azure.Search.Documents.Indexes;
using System.Text.Json;
var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential);
// Specify the knowledge source name to retrieve
string ksNameToGet = "earth-knowledge-source";
// Get its definition
var knowledgeSourceResponse = await indexClient.GetKnowledgeSourceAsync(ksNameToGet);
var ks = knowledgeSourceResponse.Value;
// Serialize to JSON for display
var jsonOptions = new JsonSerializerOptions
{
WriteIndented = true,
DefaultIgnoreCondition = System.Text.Json.Serialization.JsonIgnoreCondition.Never
};
Console.WriteLine(JsonSerializer.Serialize(ks, ks.GetType(), jsonOptions));
Uma fonte de conhecimento é um objeto reutilizável de nível superior. Conhecer as fontes de conhecimento existentes é útil para reutilizar ou nomear novos objetos.
Execute o seguinte código para listar as fontes de conhecimento por nome e tipo.
# List knowledge sources by name and type
import requests
import json
endpoint = "{search_url}/knowledgesources"
params = {"api-version": "2025-11-01-preview", "$select": "name, kind"}
headers = {"api-key": "{api_key}"}
response = requests.get(endpoint, params = params, headers = headers)
print(json.dumps(response.json(), indent = 2))
Você também pode retornar uma única fonte de conhecimento pelo nome para revisar sua definição JSON.
# Get a knowledge source definition
import requests
import json
endpoint = "{search_url}/knowledgesources/{knowledge_source_name}"
params = {"api-version": "2025-11-01-preview"}
headers = {"api-key": "{api_key}"}
response = requests.get(endpoint, params = params, headers = headers)
print(json.dumps(response.json(), indent = 2))
Uma fonte de conhecimento é um objeto reutilizável de nível superior. Conhecer as fontes de conhecimento existentes é útil para reutilizar ou nomear novos objetos.
Usar Fontes de Conhecimento - Obter (API REST) para listar fontes de conhecimento por nome e tipo.
### List knowledge sources by name and type
GET {{search-url}}/knowledgesources?api-version=2025-11-01-preview&$select=name,kind
api-key: {{api-key}}
Você também pode retornar uma única fonte de conhecimento pelo nome para revisar sua definição JSON.
### Get a knowledge source definition
GET {{search-url}}/knowledgesources/{{knowledge-source-name}}?api-version=2025-11-01-preview
api-key: {{api-key}}
O JSON seguinte é uma resposta de exemplo para uma fonte de conhecimento remota do SharePoint.
{
"name": "my-sharepoint-ks",
"kind": "remoteSharePoint",
"description": "A sample remote SharePoint knowledge source",
"encryptionKey": null,
"remoteSharePointParameters": {
"filterExpression": "filetype:docx",
"containerTypeId": null,
"resourceMetadata": [
"Author",
"Title"
]
}
}
Criar uma fonte de conhecimento
Execute o código seguinte para criar uma fonte remota de conhecimento SharePoint.
// Create a remote SharePoint knowledge source
using Azure.Search.Documents.Indexes;
using Azure.Search.Documents.Indexes.Models;
using Azure.Search.Documents.KnowledgeBases.Models;
using Azure;
var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential);
var knowledgeSource = new RemoteSharePointKnowledgeSource(name: "my-remote-sharepoint-ks")
{
Description = "This knowledge source queries .docx files in a trusted Microsoft 365 tenant.",
RemoteSharePointParameters = new RemoteSharePointKnowledgeSourceParameters()
{
FilterExpression = "filetype:docx",
ResourceMetadata = { "Author", "Title" }
}
};
await indexClient.CreateOrUpdateKnowledgeSourceAsync(knowledgeSource);
Console.WriteLine($"Knowledge source '{knowledgeSource.Name}' created or updated successfully.");
Execute o código seguinte para criar uma fonte remota de conhecimento SharePoint.
# Create a remote SharePoint knowledge source
from azure.core.credentials import AzureKeyCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import RemoteSharePointKnowledgeSource, RemoteSharePointKnowledgeSourceParameters
index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key"))
knowledge_source = RemoteSharePointKnowledgeSource(
name = "my-remote-sharepoint-ks",
description= "This knowledge source queries .docx files in a trusted Microsoft 365 tenant.",
encryption_key = None,
remote_share_point_parameters = RemoteSharePointKnowledgeSourceParameters(
filter_expression = "filetype:docx",
resource_metadata = ["Author", "Title"],
container_type_id = None
)
)
index_client.create_or_update_knowledge_source(knowledge_source)
print(f"Knowledge source '{knowledge_source.name}' created or updated successfully.")
Use Fontes de Conhecimento - Criar ou Atualizar (API REST) para criar uma fonte remota SharePoint de conhecimento.
PUT {{search-url}}/knowledgesources/my-remote-sharepoint-ks?api-version=2025-11-01-preview
api-key: {{api-key}}
Content-Type: application/json
{
"name": "my-remote-sharepoint-ks",
"kind": "remoteSharePoint",
"description": "This knowledge source queries .docx files in a trusted Microsoft 365 tenant.",
"encryptionKey": null,
"remoteSharePointParameters": {
"filterExpression": "filetype:docx",
"resourceMetadata": [ "Author", "Title" ],
"containerTypeId": null
}
}
Propriedades específicas da fonte
Pode passar as seguintes propriedades para criar uma fonte remota de conhecimento SharePoint.
| Nome | Description | Tipo | Editável | Obrigatório |
|---|---|---|---|---|
Name |
O nome da fonte de conhecimento, que deve ser único dentro da coleção de fontes de conhecimento e seguir as diretrizes nomeação para objetos em Pesquisa de IA do Azure. | Cordão | Não | Yes |
Description |
Uma descrição da fonte de conhecimento. | Cordão | Yes | Não |
EncryptionKey |
Uma chave gerida pelo cliente para encriptar informação sensível na fonte de conhecimento. | Objeto | Yes | Não |
RemoteSharePointParameters |
Parâmetros específicos para fontes remotas de conhecimento SharePoint: FilterExpression, ResourceMetadata e ContainerTypeId. |
Objeto | Não | Não |
FilterExpression |
Uma expressão escrita no SharePoint KQL, usada para especificar locais e caminhos para o conteúdo. | Cordão | Yes | Não |
ResourceMetadata |
Um conjunto de campos padrão de metadados: autor, nome do ficheiro, data de criação, tipo de conteúdo e tipo de ficheiro. | Array | Yes | Não |
ContainerTypeId |
ID do contenedor para a ligação integrada do SharePoint. Quando não especificado, utiliza-se o SharePoint Online. | Cordão | Yes | Não |
| Nome | Description | Tipo | Editável | Obrigatório |
|---|---|---|---|---|
name |
O nome da fonte de conhecimento, que deve ser único dentro da coleção de fontes de conhecimento e seguir as diretrizes nomeação para objetos em Pesquisa de IA do Azure. | Cordão | Não | Yes |
description |
Uma descrição da fonte de conhecimento. | Cordão | Yes | Não |
encryption_key |
Uma chave gerida pelo cliente para encriptar informação sensível na fonte de conhecimento. | Objeto | Yes | Não |
remote_share_point_parameters |
Parâmetros específicos para fontes remotas de conhecimento SharePoint: filter_expression, resource_metadata e container_type_id. |
Objeto | Não | Não |
filter_expression |
Uma expressão escrita no SharePoint KQL, usada para especificar locais e caminhos para o conteúdo. | Cordão | Yes | Não |
resource_metadata |
Um conjunto de campos padrão de metadados: autor, nome do ficheiro, data de criação, tipo de conteúdo e tipo de ficheiro. | Array | Yes | Não |
container_type_id |
ID do contêiner para a ligação integrada do SharePoint. Quando não especificado, utiliza-se o SharePoint Online. | Cordão | Yes | Não |
| Nome | Description | Tipo | Editável | Obrigatório |
|---|---|---|---|---|
name |
O nome da fonte de conhecimento, que deve ser único dentro da coleção de fontes de conhecimento e seguir as diretrizes nomeação para objetos em Pesquisa de IA do Azure. | Cordão | Não | Yes |
kind |
O tipo de fonte de conhecimento, que é remoteSharePoint neste caso. |
Cordão | Não | Yes |
description |
Uma descrição da fonte de conhecimento. | Cordão | Yes | Não |
encryptionKey |
Uma chave gerida pelo cliente para encriptar informação sensível na fonte de conhecimento. | Objeto | Yes | Não |
remoteSharePointParameters |
Parâmetros específicos para fontes remotas de conhecimento SharePoint: filterExpression, resourceMetadata e containerTypeId. |
Objeto | Não | Não |
filterExpression |
Uma expressão escrita no SharePoint KQL, usada para especificar locais e caminhos para o conteúdo. | Cordão | Yes | Não |
resourceMetadata |
Um conjunto de campos padrão de metadados: autor, nome do ficheiro, data de criação, tipo de conteúdo e tipo de ficheiro. | Array | Yes | Não |
containerTypeId |
ID do container para a ligação SharePoint embutida. Quando não especificado, utiliza-se o SharePoint Online. | Cordão | Yes | Não |
Exemplos de expressões de filtros
Nem todas as propriedades SharePoint são suportadas no filterExpression. Para uma lista de propriedades suportadas, consulte a referência da API. Para propriedades consultáveis, veja Consultável.
Saiba mais sobre os filtros KQL na referência de sintaxe.
| Example | Expressão do filtro |
|---|---|
| Filtrar para um único site por ID | "filterExpression": "SiteID:\"00aa00aa-bb11-cc22-dd33-44ee44ee44ee\"" |
| Filtrar os múltiplos sites por ID | "filterExpression": "SiteID:\"00aa00aa-bb11-cc22-dd33-44ee44ee44ee\" OR SiteID:\"11bb11bb-cc22-dd33-ee44-55ff55ff55ff\"" |
| Filtrar ficheiros num caminho específico | "filterExpression": "Path:\"https://my-demo.sharepoint.com/sites/mysite/Shared Documents/en/mydocs\"" |
| Filtrar para um intervalo de datas específico | "filterExpression": "LastModifiedTime >= 2024-07-22 AND LastModifiedTime <= 2025-01-08" |
| Filtrar para ficheiros de um tipo específico de ficheiro | "filterExpression": "FileExtension:\"docx\" OR FileExtension:\"pdf\" OR FileExtension:\"pptx\"" |
| Filtrar para ficheiros de um rótulo específico de proteção de informação | "filterExpression": "InformationProtectionLabelId:\"f0ddcc93-d3c0-4993-b5cc-76b0a283e252\"" |
Atribuir a uma base de conhecimento
Se estiver satisfeito com a fonte de conhecimento, continue para o passo seguinte: especifique a fonte de conhecimento numa base de conhecimento.
Consultar uma base de dados de conhecimento
Depois de configurada a base de conhecimento, utilize a ação retrieve para consultar SharePoint conteúdo. O SharePoint remoto tem comportamentos específicos da fonte para filtragem em tempo de consulta, formulação de consultas, campos de resposta e aplicação de permissões.
Aplique um filtro KQL no momento da consulta
Pode passar um FilterExpressionAddOn no KnowledgeSourceParams pedido de recuperação para aplicar um filtro KQL na altura da consulta. Se especificares FilterExpressionAddOn no pedido de recuperação e FilterExpression na definição da fonte de conhecimento, os filtros são combinados com AND.
var retrievalRequest = new KnowledgeBaseRetrievalRequest();
retrievalRequest.Messages.Add(
new KnowledgeBaseMessage(
content: new[] {
new KnowledgeBaseMessageTextContent("contoso product planning")
}
) { Role = "user" }
);
retrievalRequest.KnowledgeSourceParams.Add(
new RemoteSharePointKnowledgeSourceParams("my-remote-sharepoint-ks")
{
FilterExpressionAddOn = "filetype:docx"
}
);
var result = await kbClient.RetrieveAsync(
retrievalRequest, xMsQuerySourceAuthorization: token
);
Pode passar um filter_expression_add_on no knowledge_source_params pedido de recuperação para aplicar um filtro KQL na altura da consulta. Se especificares filter_expression_add_on no pedido de recuperação e filter_expression na definição da fonte de conhecimento, os filtros são combinados com AND.
from azure.search.documents.knowledgebases.models import (
KnowledgeBaseMessage,
KnowledgeBaseMessageTextContent,
KnowledgeBaseRetrievalRequest,
RemoteSharePointKnowledgeSourceParams,
)
request = KnowledgeBaseRetrievalRequest(
messages=[
KnowledgeBaseMessage(
role="user",
content=[
KnowledgeBaseMessageTextContent(
text="contoso product planning"
)
],
)
],
knowledge_source_params=[
RemoteSharePointKnowledgeSourceParams(
knowledge_source_name="my-remote-sharepoint-ks",
filter_expression_add_on="filetype:docx",
)
],
)
result = kb_client.retrieve(
retrieval_request=request,
x_ms_query_source_authorization=token,
)
Pode passar um filterExpressionAddOn no knowledgeSourceParams pedido de recuperação para aplicar um filtro KQL na altura da consulta. Se especificares filterExpressionAddOn no pedido de recuperação e filterExpression na definição da fonte de conhecimento, os filtros são combinados com AND.
POST {{search-url}}/knowledgebases/{{knowledge-base-name}}/retrieve?api-version=2025-11-01-preview
Authorization: Bearer {{accessToken}}
Content-Type: application/json
x-ms-query-source-authorization: {{user-access-token}}
{
"messages": [
{
"role": "user",
"content": [
{ "type": "text", "text": "contoso product planning" }
]
}
],
"knowledgeSourceParams": [
{
"knowledgeSourceName": "my-remote-sharepoint-ks",
"kind": "remoteSharePoint",
"filterExpressionAddOn": "filetype:docx"
}
]
}
Escrever consultas eficazes
Consultas que perguntam sobre o próprio conteúdo são mais eficazes do que perguntas sobre onde está localizado um ficheiro ou quando foi atualizado pela última vez. Por exemplo, "Onde está o documento principal para o Ignite 2024" pode não devolver resultados porque o próprio conteúdo não revela a sua localização. A FilterExpression sobre metadados é uma abordagem melhor para consultas específicas de localização de ficheiros ou de datas.
Consultas que perguntam sobre o próprio conteúdo são mais eficazes do que perguntas sobre onde está localizado um ficheiro ou quando foi atualizado pela última vez. Por exemplo, "Onde está o documento principal para o Ignite 2024" pode não devolver resultados porque o próprio conteúdo não revela a sua localização. A filter_expression sobre metadados é uma abordagem melhor para consultas específicas de localização de ficheiros ou de datas.
Consultas que perguntam sobre o próprio conteúdo são mais eficazes do que perguntas sobre onde está localizado um ficheiro ou quando foi atualizado pela última vez. Por exemplo, "Onde está o documento principal para o Ignite 2024" pode não devolver resultados porque o próprio conteúdo não revela a sua localização. A filterExpression sobre metadados é uma abordagem melhor para consultas específicas de localização de ficheiros ou de datas.
Uma pergunta mais eficaz é "Qual é o documento principal do Ignite 2024". A resposta inclui a resposta sintetizada, a atividade da consulta e a contagem de tokens, além do URL e outros metadados.
Campos de resposta específicos do SharePoint
Os resultados de SharePoint remotos incluem campos que não aparecem para outros tipos de fonte de conhecimento, como resourceMetadata, webUrl e searchSensitivityLabelInfo.
{
"resourceMetadata": {
"Author": "Nuwan Amarathunga;Nurul Izzati",
"Title": "Ignite 2024 Keynote Address"
},
"rerankerScore": 2.489522,
"webUrl": "https://contoso-my.sharepoint.com/keynotes/Documents/Keynote-Ignite-2024.docx",
"searchSensitivityLabelInfo": {
"displayName": "Confidential\\Contoso Extended",
"sensitivityLabelId": "aaaaaaaa-0b0b-1c1c-2d2d-333333333333",
"tooltip": "Data is classified and protected.",
"priority": 5,
"color": "#FF8C00",
"isEncrypted": true
}
}
Aplicar permissões no momento da consulta
Fontes de conhecimento remotas do SharePoint podem aplicar permissões do SharePoint no momento da consulta. Para permitir este filtragem, inclua o token de acesso do utilizador final no pedido de recuperação. O motor de recuperação passa o token para a API de Recuperação do Copilot, que consulta o SharePoint e devolve apenas o conteúdo ao qual o utilizador tem acesso. As permissões do SharePoint e as etiquetas de sensibilidade do Microsoft Purview são respeitadas.
Como o SharePoint remoto não utiliza um índice de pesquisa, não é necessária configuração de permissões de tempo de ingestão. O token de acesso é o único requisito.
Para instruções sobre como passar o token, consulte Impor permissões no momento da consulta.
Excluir uma fonte de conhecimento
Antes de poder eliminar uma fonte de conhecimento, deve eliminar qualquer base de conhecimento que a faça referência ou atualizar a definição da base de conhecimento para remover a referência. Para fontes de conhecimento que geram um pipeline de índice e indexador, todos os objetos gerados também são eliminados. No entanto, se usou um índice existente para criar uma fonte de conhecimento, o seu índice não é eliminado.
Se tentar eliminar uma fonte de conhecimento que está em uso, a ação falha e devolve uma lista das bases de conhecimento afetadas.
Para eliminar uma fonte de conhecimento:
Obtenha uma lista de todas as bases de conhecimento do seu serviço de pesquisa.
using Azure.Search.Documents.Indexes; var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential); var knowledgeBases = indexClient.GetKnowledgeBasesAsync(); Console.WriteLine("Knowledge Bases:"); await foreach (var kb in knowledgeBases) { Console.WriteLine($" - {kb.Name}"); }Um exemplo de resposta pode ter a seguinte aparência:
Knowledge Bases: - earth-knowledge-base - hotels-sample-knowledge-base - my-demo-knowledge-baseObtenha uma definição individual da base de conhecimento para verificar referências de fontes de conhecimento.
using Azure.Search.Documents.Indexes; using System.Text.Json; var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential); // Specify the knowledge base name to retrieve string kbNameToGet = "earth-knowledge-base"; // Get a specific knowledge base definition var knowledgeBaseResponse = await indexClient.GetKnowledgeBaseAsync(kbNameToGet); var kb = knowledgeBaseResponse.Value; // Serialize to JSON for display string json = JsonSerializer.Serialize(kb, new JsonSerializerOptions { WriteIndented = true }); Console.WriteLine(json);Um exemplo de resposta pode ter a seguinte aparência:
{ "Name": "earth-knowledge-base", "KnowledgeSources": [ { "Name": "earth-knowledge-source" } ], "Models": [ {} ], "RetrievalReasoningEffort": {}, "OutputMode": {}, "ETag": "\u00220x8DE278629D782B3\u0022", "EncryptionKey": null, "Description": null, "RetrievalInstructions": null, "AnswerInstructions": null }Ou apaga a base de conhecimento ou atualiza a base de conhecimento para remover a fonte de conhecimento se tiveres várias fontes. Este exemplo mostra a exclusão.
using Azure.Search.Documents.Indexes; var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential); await indexClient.DeleteKnowledgeBaseAsync(knowledgeBaseName); System.Console.WriteLine($"Knowledge base '{knowledgeBaseName}' deleted successfully.");Exclua a fonte de conhecimento.
await indexClient.DeleteKnowledgeSourceAsync(knowledgeSourceName); System.Console.WriteLine($"Knowledge source '{knowledgeSourceName}' deleted successfully.");
Antes de poder eliminar uma fonte de conhecimento, deve eliminar qualquer base de conhecimento que a faça referência ou atualizar a definição da base de conhecimento para remover a referência. Para fontes de conhecimento que geram um pipeline de índice e indexador, todos os objetos gerados também são eliminados. No entanto, se usou um índice existente para criar uma fonte de conhecimento, o seu índice não é eliminado.
Se tentar eliminar uma fonte de conhecimento que está em uso, a ação falha e devolve uma lista das bases de conhecimento afetadas.
Para eliminar uma fonte de conhecimento:
Obtenha uma lista de todas as bases de conhecimento do seu serviço de pesquisa.
# Get knowledge bases import requests import json endpoint = "{search_url}/knowledgebases" params = {"api-version": "2025-11-01-preview", "$select": "name"} headers = {"api-key": "{api_key}"} response = requests.get(endpoint, params = params, headers = headers) print(json.dumps(response.json(), indent = 2))Um exemplo de resposta pode ter a seguinte aparência:
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Obtenha uma definição individual da base de conhecimento para verificar referências de fontes de conhecimento.
# Get a knowledge base definition import requests import json endpoint = "{search_url}/knowledgebases/{knowledge_base_name}" params = {"api-version": "2025-11-01-preview"} headers = {"api-key": "{api_key}"} response = requests.get(endpoint, params = params, headers = headers) print(json.dumps(response.json(), indent = 2))Um exemplo de resposta pode ter a seguinte aparência:
{ "name": "my-kb", "description": null, "retrievalInstructions": null, "answerInstructions": null, "outputMode": null, "knowledgeSources": [ { "name": "my-blob-ks", } ], "models": [], "encryptionKey": null, "retrievalReasoningEffort": { "kind": "low" } }Ou apaga a base de conhecimento ou atualiza a base de conhecimento para remover a fonte de conhecimento se tiveres várias fontes. Este exemplo mostra a exclusão.
# Delete a knowledge base from azure.core.credentials import AzureKeyCredential from azure.search.documents.indexes import SearchIndexClient index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key")) index_client.delete_knowledge_base("knowledge_base_name") print(f"Knowledge base deleted successfully.")Exclua a fonte de conhecimento.
# Delete a knowledge source from azure.core.credentials import AzureKeyCredential from azure.search.documents.indexes import SearchIndexClient index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key")) index_client.delete_knowledge_source("knowledge_source_name") print(f"Knowledge source deleted successfully.")
Antes de poder eliminar uma fonte de conhecimento, deve eliminar qualquer base de conhecimento que a faça referência ou atualizar a definição da base de conhecimento para remover a referência. Para fontes de conhecimento que geram um pipeline de índice e indexador, todos os objetos gerados também são eliminados. No entanto, se usou um índice existente para criar uma fonte de conhecimento, o seu índice não é eliminado.
Se tentar eliminar uma fonte de conhecimento que está em uso, a ação falha e devolve uma lista das bases de conhecimento afetadas.
Para eliminar uma fonte de conhecimento:
Obtenha uma lista de todas as bases de conhecimento do seu serviço de pesquisa.
### Get knowledge bases GET {{search-endpoint}}/knowledgebases?api-version=2025-11-01-preview&$select=name api-key: {{api-key}}Um exemplo de resposta pode ter a seguinte aparência:
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Obtenha uma definição individual da base de conhecimento para verificar referências de fontes de conhecimento.
### Get a knowledge base definition GET {{search-endpoint}}/knowledgebases/{{knowledge-base-name}}?api-version=2025-11-01-preview api-key: {{api-key}}Um exemplo de resposta pode ter a seguinte aparência:
{ "name": "my-kb", "description": null, "retrievalInstructions": null, "answerInstructions": null, "outputMode": null, "knowledgeSources": [ { "name": "my-blob-ks", } ], "models": [], "encryptionKey": null, "retrievalReasoningEffort": { "kind": "low" } }Ou apaga a base de conhecimento ou atualiza a base de conhecimento removendo a fonte de conhecimento se tiveres múltiplas fontes. Este exemplo mostra a exclusão.
### Delete a knowledge base DELETE {{search-endpoint}}/knowledgebases/{{knowledge-base-name}}?api-version=2025-11-01-preview api-key: {{api-key}}Exclua a fonte de conhecimento.
### Delete a knowledge source DELETE {{search-endpoint}}/knowledgesources/{{knowledge-source-name}}?api-version=2025-11-01-preview api-key: {{api-key}}