Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Observação
Esse recurso está atualmente em versão prévia pública. Essa visualização é fornecida sem um contrato de nível de serviço e não é recomendada para utilização em produção. Alguns recursos podem não ter suporte ou podem ter restrição de recursos. Para obter mais informações, consulte Supplemental Terms of Use for Microsoft Azure Previews.
Uma fonte de conhecimento SharePoint remoto usa a Copilot Retrieval API para consultar conteúdo textual diretamente de SharePoint no Microsoft 365. Nenhum índice de pesquisa ou cadeia de conexão é necessário. Somente o conteúdo textual é consultado e o uso é cobrado por meio de Microsoft 365 e uma licença de Copilot.
Para limitar sites ou restringir a pesquisa, defina uma expressão de filtro como escopo por URLs, intervalos de datas, tipos de arquivo e outros metadados. A identidade do chamador deve ser reconhecida tanto pelo locatário Azure quanto pelo locatário Microsoft 365, pois o mecanismo de busca realiza consultas ao SharePoint em nome do usuário.
Como qualquer outra fonte de conhecimento, você especifica uma fonte de conhecimento de SharePoint remota em uma base knowledge e usa os resultados como dados de aterramento quando um agente ou chatbot chama uma ação retrieve no momento da consulta.
Suporte de uso
| Azure portal | Portal Foundry da Microsoft | .NET SDK | SDK Python | Java SDK | SDK JavaScript | REST API |
|---|---|---|---|---|---|---|
| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Pré-requisitos
Pesquisa de IA do Azure em qualquer região que fornece recuperação orientada por agente. Você deve ter o classificador semântico habilitado.
SharePoint em um locatário do Microsoft 365 que utiliza o mesmo locatário Microsoft Entra ID que o Azure.
Uma licença Microsoft 365 Copilot para acesso em tempo de consulta ao conteúdo SharePoint.
Permissão para criar e usar objetos no Pesquisa de IA do Azure . Recomendamos o acesso baseado em função, mas você pode usar chaves de API se uma atribuição de função não for viável. Para obter mais informações, consulte Conectar-se a um serviço de pesquisa.
- O pacote de versão prévia
Azure.Search.Documentsmais recente:dotnet add package Azure.Search.Documents --prerelease
- O pacote de versão prévia
azure-search-documentsmais recente:pip install --pre azure-search-documents
- A versão 2025-11-01-preview das APIs REST do Serviço de Pesquisa.
Limitações
As limitações a seguir na API de Recuperação Copilot se aplicam a fontes de conhecimento SharePoint remotas.
Não há suporte para conectores do Copilot ou conteúdos do OneDrive. O conteúdo é recuperado somente de sites SharePoint.
Limite de 200 solicitações por usuário por hora.
Limite de caracteres de consulta de 1.500 caracteres.
As consultas híbridas só têm suporte para as seguintes extensões de arquivo: .doc, .docx, .pptx, .pdf, .aspx e .one.
Não há suporte para a recuperação multimodal (conteúdo nãoxtual, incluindo tabelas, imagens e gráficos).
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 KQL (Linguagem de Consulta de Palavra-Chave) inválidas são ignoradas e a consulta continua a ser executada sem o filtro.
Verificar se há fontes de conhecimento existentes
Uma fonte de conhecimento é um objeto reutilizável de nível superior. Saber sobre fontes de conhecimento existentes é útil para reutilizar ou nomear novos objetos.
Execute o código a seguir para listar 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 por nome para revisar sua definição de 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. Saber sobre fontes de conhecimento existentes é útil para reutilizar ou nomear novos objetos.
Execute o código a seguir para listar 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 por nome para revisar sua definição de 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. Saber sobre fontes de conhecimento existentes é útil para reutilizar ou nomear novos objetos.
Use 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 por nome para revisar sua definição de 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 a seguir é uma resposta de exemplo para uma fonte de conhecimento de SharePoint remota.
{
"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 a seguir para criar uma fonte de conhecimento SharePoint remota.
// 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 a seguir para criar uma fonte de conhecimento SharePoint remota.
# 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 Cnowledge Sources – Create or Update (API REST) para criar uma fonte de conhecimento SharePoint remota.
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 origem
Você pode passar as propriedades a seguir para criar uma fonte de conhecimento SharePoint remota.
| Nome | Description | Tipo | Editável | Obrigatório |
|---|---|---|---|---|
Name |
O nome da fonte de conhecimento, que deve ser exclusivo na coleção de fontes de conhecimento e seguir as diretrizes de naming para objetos em Pesquisa de IA do Azure . | String | Não | Yes |
Description |
Uma descrição da fonte de conhecimento. | String | Yes | Não |
EncryptionKey |
Uma chave gerenciada pelo cliente para criptografar informações confidenciais na fonte de conhecimento. | Object | Yes | Não |
RemoteSharePointParameters |
Parâmetros específicos para fontes de conhecimento de SharePoint remotas: FilterExpression, ResourceMetadata e ContainerTypeId. |
Object | Não | Não |
FilterExpression |
Uma expressão escrita no SharePoint KQL, que é usada para especificar sites e caminhos para o conteúdo. | String | Yes | Não |
ResourceMetadata |
Uma matriz de campos de metadados padrão: autor, nome do arquivo, data de criação, tipo de conteúdo e tipo de arquivo. | Array | Yes | Não |
ContainerTypeId |
ID do contêiner para a conexão SharePoint Embedded. Quando não especificado, SharePoint Online é usado. | String | Yes | Não |
| Nome | Description | Tipo | Editável | Obrigatório |
|---|---|---|---|---|
name |
O nome da fonte de conhecimento, que deve ser exclusivo na coleção de fontes de conhecimento e seguir as diretrizes de naming para objetos em Pesquisa de IA do Azure . | String | Não | Yes |
description |
Uma descrição da fonte de conhecimento. | String | Yes | Não |
encryption_key |
Uma chave gerenciada pelo cliente para criptografar informações confidenciais na fonte de conhecimento. | Object | Yes | Não |
remote_share_point_parameters |
Parâmetros específicos para fontes de conhecimento de SharePoint remotas: filter_expression, resource_metadata e container_type_id. |
Object | Não | Não |
filter_expression |
Uma expressão escrita no SharePoint KQL, que é usada para especificar sites e caminhos para o conteúdo. | String | Yes | Não |
resource_metadata |
Uma matriz de campos de metadados padrão: autor, nome do arquivo, data de criação, tipo de conteúdo e tipo de arquivo. | Array | Yes | Não |
container_type_id |
ID do contêiner para a conexão SharePoint Embedded. Quando não especificado, SharePoint Online é usado. | String | Yes | Não |
| Nome | Description | Tipo | Editável | Obrigatório |
|---|---|---|---|---|
name |
O nome da fonte de conhecimento, que deve ser exclusivo na coleção de fontes de conhecimento e seguir as diretrizes de naming para objetos em Pesquisa de IA do Azure . | String | Não | Yes |
kind |
O tipo de fonte de conhecimento, que é remoteSharePoint neste caso. |
String | Não | Yes |
description |
Uma descrição da fonte de conhecimento. | String | Yes | Não |
encryptionKey |
Uma chave gerenciada pelo cliente para criptografar informações confidenciais na fonte de conhecimento. | Object | Yes | Não |
remoteSharePointParameters |
Parâmetros específicos para fontes de conhecimento de SharePoint remotas: filterExpression, resourceMetadata e containerTypeId. |
Object | Não | Não |
filterExpression |
Uma expressão escrita no SharePoint KQL, que é usada para especificar sites e caminhos para o conteúdo. | String | Yes | Não |
resourceMetadata |
Uma matriz de campos de metadados padrão: autor, nome do arquivo, data de criação, tipo de conteúdo e tipo de arquivo. | Array | Yes | Não |
containerTypeId |
ID do contêiner para a conexão SharePoint Embedded. Quando não especificado, SharePoint Online é usado. | String | Yes | Não |
Exemplos de expressão de filtro
Nem todas as propriedades SharePoint têm suporte no filterExpression. Para obter uma lista das propriedades com suporte, confira a Referência da API. Para propriedades que podem ser consultadas, consulte Queryable.
Saiba mais sobre filtros KQL na referência de sintaxe.
| Example | Expressão de filtro |
|---|---|
| Filtrar para um único site por ID | "filterExpression": "SiteID:\"00aa00aa-bb11-cc22-dd33-44ee44ee44ee\"" |
| Filtrar vários sites por ID | "filterExpression": "SiteID:\"00aa00aa-bb11-cc22-dd33-44ee44ee44ee\" OR SiteID:\"11bb11bb-cc22-dd33-ee44-55ff55ff55ff\"" |
| Filtrar para arquivos em um 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 arquivos de um tipo de arquivo específico | "filterExpression": "FileExtension:\"docx\" OR FileExtension:\"pdf\" OR FileExtension:\"pptx\"" |
| Filtrar para arquivos de um rótulo de proteção de informações específico | "filterExpression": "InformationProtectionLabelId:\"f0ddcc93-d3c0-4993-b5cc-76b0a283e252\"" |
Atribuir a uma base de dados de conhecimento
Se você estiver satisfeito com a fonte de conhecimento, prossiga para a próxima etapa: especifique a fonte de conhecimento em uma base de dados de conhecimento.
Consultar uma base de dados de conhecimento
Depois que a base de dados de conhecimento for configurada, use a ação retrieve para consultar SharePoint conteúdo. A SharePoint remota tem comportamentos específicos da origem para filtragem de tempo de consulta, formulação de consulta, campos de resposta e imposição de permissões.
Aplicar um filtro KQL no momento da consulta
Você pode passar um FilterExpressionAddOn no KnowledgeSourceParams na solicitação de recuperação para aplicar um filtro KQL no momento da consulta. Se você especificar FilterExpressionAddOn na solicitação de recuperação e um FilterExpression na definição da fonte de conhecimento, os filtros serão combinados com o operador 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
);
Você pode passar um filter_expression_add_on no knowledge_source_params na solicitação de recuperação para aplicar um filtro KQL no momento da consulta. Se você especificar filter_expression_add_on na solicitação de recuperação e um filter_expression na definição da fonte de conhecimento, os filtros serão combinados com o operador 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,
)
Você pode passar um filterExpressionAddOn no knowledgeSourceParams na solicitação de recuperação para aplicar um filtro KQL no momento da consulta. Se você especificar filterExpressionAddOn na solicitação de recuperação e um filterExpression na definição da fonte de conhecimento, os filtros serão combinados com o operador 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
As consultas que fazem perguntas sobre o conteúdo em si são mais eficazes do que perguntas sobre onde um arquivo está localizado ou quando ele foi atualizado pela última vez. Por exemplo, "Where is the keynote doc for Ignite 2024" pode não retornar resultados porque o conteúdo em si não divulga sua localização. Um FilterExpression baseado em metadados é uma abordagem melhor para consultas de localização de arquivo ou específicas de data.
As consultas que fazem perguntas sobre o conteúdo em si são mais eficazes do que perguntas sobre onde um arquivo está localizado ou quando ele foi atualizado pela última vez. Por exemplo, "Where is the keynote doc for Ignite 2024" pode não retornar resultados porque o conteúdo em si não divulga sua localização. Um filter_expression baseado em metadados é uma abordagem melhor para consultas de localização de arquivo ou específicas de data.
As consultas que fazem perguntas sobre o conteúdo em si são mais eficazes do que perguntas sobre onde um arquivo está localizado ou quando ele foi atualizado pela última vez. Por exemplo, "Where is the keynote doc for Ignite 2024" pode não retornar resultados porque o conteúdo em si não divulga sua localização. Um filterExpression baseado em metadados é uma abordagem melhor para consultas de localização de arquivo ou específicas de data.
Uma pergunta mais eficaz é "Qual é o documento principal do Ignite 2024". A resposta inclui a resposta sintetizada, a atividade de consulta e as contagens de tokens, além da URL e outros metadados.
campos de resposta específicos do SharePoint
Os resultados do SharePoint remoto incluem campos que não aparecem para outros tipos de fonte de dados 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 de SharePoint remotas podem impor permissões de SharePoint no momento da consulta. Para habilitar essa filtragem, inclua o token de acesso do usuário final na solicitação de recuperação. O mecanismo de recuperação passa o token para a API de Recuperação de Copilot, que consulta SharePoint e retorna apenas o conteúdo ao qual o usuário tem acesso. Permissões do SharePoint e rótulos de confidencialidade do Microsoft Purview são honrados.
Como o SharePoint remoto não usa um índice de pesquisa, nenhuma configuração de permissões de tempo de ingestão é necessária. O token de acesso é o único requisito.
Para obter instruções sobre como passar o token, consulte Impor permissões no momento da consulta.
Excluir uma fonte de conhecimento
Antes de excluir uma fonte de conhecimento, exclua qualquer base de dados de conhecimento que faça referência a ela ou atualize a definição da base de dados 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 excluídos . No entanto, se você usou um índice existente para criar uma fonte de conhecimento, seu índice não será excluído.
Se você tentar excluir uma fonte de conhecimento que está em uso, a ação falhará e retornará uma lista de bases de dados de conhecimento afetadas.
Para excluir uma fonte de conhecimento:
Obtenha uma lista de todas as bases de dados de conhecimento em 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}"); }Uma resposta de exemplo pode ser semelhante à seguinte:
Knowledge Bases: - earth-knowledge-base - hotels-sample-knowledge-base - my-demo-knowledge-baseObtenha uma definição de base de conhecimento individual para verificar referências de fonte 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);Uma resposta de exemplo pode ser semelhante à seguinte:
{ "Name": "earth-knowledge-base", "KnowledgeSources": [ { "Name": "earth-knowledge-source" } ], "Models": [ {} ], "RetrievalReasoningEffort": {}, "OutputMode": {}, "ETag": "\u00220x8DE278629D782B3\u0022", "EncryptionKey": null, "Description": null, "RetrievalInstructions": null, "AnswerInstructions": null }Exclua a base de dados de conhecimento ou atualize a base de dados de conhecimento para remover a fonte de conhecimento se você tiver 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 excluir uma fonte de conhecimento, exclua qualquer base de dados de conhecimento que faça referência a ela ou atualize a definição da base de dados 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 excluídos . No entanto, se você usou um índice existente para criar uma fonte de conhecimento, seu índice não será excluído.
Se você tentar excluir uma fonte de conhecimento que está em uso, a ação falhará e retornará uma lista de bases de dados de conhecimento afetadas.
Para excluir uma fonte de conhecimento:
Obtenha uma lista de todas as bases de dados de conhecimento em 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))Uma resposta de exemplo pode ser semelhante à seguinte:
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Obtenha uma definição de base de conhecimento individual para verificar referências de fonte 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))Uma resposta de exemplo pode ser semelhante à seguinte:
{ "name": "my-kb", "description": null, "retrievalInstructions": null, "answerInstructions": null, "outputMode": null, "knowledgeSources": [ { "name": "my-blob-ks", } ], "models": [], "encryptionKey": null, "retrievalReasoningEffort": { "kind": "low" } }Exclua a base de dados de conhecimento ou atualize a base de dados de conhecimento para remover a fonte de conhecimento se você tiver 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 excluir uma fonte de conhecimento, exclua qualquer base de dados de conhecimento que faça referência a ela ou atualize a definição da base de dados 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 excluídos . No entanto, se você usou um índice existente para criar uma fonte de conhecimento, seu índice não será excluído.
Se você tentar excluir uma fonte de conhecimento que está em uso, a ação falhará e retornará uma lista de bases de dados de conhecimento afetadas.
Para excluir uma fonte de conhecimento:
Obtenha uma lista de todas as bases de dados de conhecimento em seu serviço de pesquisa.
### Get knowledge bases GET {{search-endpoint}}/knowledgebases?api-version=2025-11-01-preview&$select=name api-key: {{api-key}}Uma resposta de exemplo pode ser semelhante à seguinte:
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Obtenha uma definição de base de conhecimento individual para verificar referências de fonte de conhecimento.
### Get a knowledge base definition GET {{search-endpoint}}/knowledgebases/{{knowledge-base-name}}?api-version=2025-11-01-preview api-key: {{api-key}}Uma resposta de exemplo pode ser semelhante à seguinte:
{ "name": "my-kb", "description": null, "retrievalInstructions": null, "answerInstructions": null, "outputMode": null, "knowledgeSources": [ { "name": "my-blob-ks", } ], "models": [], "encryptionKey": null, "retrievalReasoningEffort": { "kind": "low" } }Exclua a base de dados de conhecimento ou atualize a base de dados de conhecimento removendo a fonte de conhecimento se você tiver várias 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}}