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.
Nota:
Esta característica actualmente está en su versión preliminar pública. Esta versión preliminar se ofrece sin contrato de nivel de servicio y no es aconsejable usarla en las cargas de trabajo de producción. Es posible que algunas características no sean compatibles o que tengan sus funcionalidades limitadas. Para obtener más información, vea Supplemental Terms of Use for Microsoft Azure Previews.
Un origen de conocimiento remoto de SharePoint usa la API de recuperación de Copilot para consultar contenido textual directamente desde SharePoint en Microsoft 365. No se necesita ningún índice de búsqueda ni cadena de conexión. Solo se consulta el contenido textual y se factura el uso a través de Microsoft 365 y una licencia de Copilot.
Para limitar sitios o restringir la búsqueda, utilice una expresión de filtro para delimitar por direcciones URL, intervalos de fechas, tipos de archivo y otros metadatos. Tanto el inquilino de Azure como el inquilino de la Microsoft 365 deben reconocer la identidad del autor de la llamada porque el motor de recuperación consulta SharePoint en nombre del usuario.
Al igual que cualquier otro origen de conocimiento, especifique un origen de conocimiento de SharePoint remoto en una base de knowledge y use los resultados como datos basados cuando un agente o bot de chat llama a una acción retrieve en el momento de la consulta.
Soporte de uso
| Azure portal | Portal de Microsoft Foundry | SDK de .NET | SDK de Python | SDK de Java | SDK de JavaScript | REST API |
|---|---|---|---|---|---|---|
| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Prerrequisitos
Búsqueda de Azure AI en cualquier región que proporcione recuperación autónoma. Debe tener habilitado el clasificador semántico.
SharePoint en un entorno de Microsoft 365 que está bajo el mismo entorno de Microsoft Entra ID que Azure.
Una licencia de Microsoft 365 Copilot para el acceso en tiempo de consulta al contenido de SharePoint.
Permiso para crear y usar objetos en Búsqueda de Azure AI. Se recomienda el acceso basado en roles, pero puede usar claves de API si una asignación de roles no es factible. Para obtener más información, consulte Conexión a un servicio de búsqueda.
- El paquete de versión preliminar
Azure.Search.Documentsmás reciente:dotnet add package Azure.Search.Documents --prerelease
- El paquete de versión preliminar
azure-search-documentsmás reciente:pip install --pre azure-search-documents
- La versión 2025-11-01-preview de las API REST del servicio de búsqueda.
Limitaciones
Las siguientes limitaciones en la API de Recuperación de Copilot se aplican a orígenes de conocimiento remotos de SharePoint.
No se admiten conectores Copilot ni contenido OneDrive. El contenido solo se recupera de sitios de SharePoint.
Límite de 200 solicitudes por usuario por hora.
Límite de caracteres de consulta de 1500 caracteres.
Las consultas híbridas solo se admiten para las siguientes extensiones de archivo: .doc, .docx, .pptx, .pdf, .aspx y .one.
No se admite la recuperación multilingüe (contenido notextual, incluidas tablas, imágenes y gráficos).
Máximo de 25 resultados de una consulta.
La API de recuperación de Copilot devuelve los resultados como desordenados.
Las expresiones de filtro del lenguaje de consulta de palabras clave (KQL) no válidas se omiten y la consulta continúa ejecutándose sin el filtro.
Comprobación de fuentes de conocimiento existentes
Una fuente de conocimiento es un objeto reutilizable de nivel superior. Conocer los orígenes de conocimiento existentes resulta útil para reutilizar o asignar nombres a nuevos objetos.
Ejecute el código siguiente para enumerar los orígenes de conocimiento por nombre y 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}");
}
También puede devolver una única fuente de conocimiento por nombre para revisar su definición 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));
Una fuente de conocimiento es un objeto reutilizable de nivel superior. Conocer los orígenes de conocimiento existentes resulta útil para reutilizar o asignar nombres a nuevos objetos.
Ejecute el código siguiente para enumerar los orígenes de conocimiento por nombre y 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))
También puede devolver una única fuente de conocimiento por nombre para revisar su definición 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))
Una fuente de conocimiento es un objeto reutilizable de nivel superior. Conocer los orígenes de conocimiento existentes resulta útil para reutilizar o asignar nombres a nuevos objetos.
Usar Fuentes de conocimiento - Obtener (API REST) para listar las fuentes de conocimiento por nombre y 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}}
También puede devolver una única fuente de conocimiento por nombre para revisar su definición json.
### Get a knowledge source definition
GET {{search-url}}/knowledgesources/{{knowledge-source-name}}?api-version=2025-11-01-preview
api-key: {{api-key}}
El siguiente json es una respuesta de ejemplo para un origen de conocimiento de SharePoint remoto.
{
"name": "my-sharepoint-ks",
"kind": "remoteSharePoint",
"description": "A sample remote SharePoint knowledge source",
"encryptionKey": null,
"remoteSharePointParameters": {
"filterExpression": "filetype:docx",
"containerTypeId": null,
"resourceMetadata": [
"Author",
"Title"
]
}
}
Creación de una fuente de conocimiento
Ejecute el código siguiente para crear un origen de conocimiento de SharePoint remoto.
// 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.");
Ejecute el código siguiente para crear un origen de conocimiento de SharePoint remoto.
# 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 Knowledge Sources - Create or Update (REST API) para crear un origen de conocimiento remoto SharePoint.
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
}
}
Propiedades específicas del origen
Puede pasar las siguientes propiedades para crear un origen de conocimiento de SharePoint remoto.
| Nombre | Description | Tipo | Modificable | Obligatorio |
|---|---|---|---|---|
Name |
El nombre del origen de conocimiento, que debe ser único dentro de la colección de orígenes de conocimiento y seguir las directrices de nomenclatura para los objetos de Búsqueda de Azure AI. | String | No | Sí |
Description |
Descripción del origen de conocimiento. | String | Sí | No |
EncryptionKey |
Una clave administrada por el cliente para cifrar información confidencial en el origen de conocimiento. | Objeto | Sí | No |
RemoteSharePointParameters |
Parámetros específicos de orígenes de conocimiento remotos de SharePoint: FilterExpression, ResourceMetadata y ContainerTypeId. |
Objeto | No | No |
FilterExpression |
Expresión escrita en el SharePoint KQL, que se usa para especificar sitios y rutas de acceso al contenido. | String | Sí | No |
ResourceMetadata |
Matriz de campos de metadatos estándar: autor, nombre de archivo, fecha de creación, tipo de contenido y tipo de archivo. | Array | Sí | No |
ContainerTypeId |
Id. de contenedor para la conexión SharePoint Embedded. Cuando no se especifica, se usa SharePoint Online. | String | Sí | No |
| Nombre | Description | Tipo | Modificable | Obligatorio |
|---|---|---|---|---|
name |
El nombre del origen de conocimiento, que debe ser único dentro de la colección de orígenes de conocimiento y seguir las directrices de nomenclatura para los objetos de Búsqueda de Azure AI. | String | No | Sí |
description |
Descripción del origen de conocimiento. | String | Sí | No |
encryption_key |
Una clave administrada por el cliente para cifrar información confidencial en el origen de conocimiento. | Objeto | Sí | No |
remote_share_point_parameters |
Parámetros específicos de orígenes de conocimiento remotos de SharePoint: filter_expression, resource_metadata y container_type_id. |
Objeto | No | No |
filter_expression |
Expresión escrita en el SharePoint KQL, que se usa para especificar sitios y rutas de acceso al contenido. | String | Sí | No |
resource_metadata |
Matriz de campos de metadatos estándar: autor, nombre de archivo, fecha de creación, tipo de contenido y tipo de archivo. | Array | Sí | No |
container_type_id |
Id. de contenedor para la conexión SharePoint Embedded. Cuando no se especifica, se usa SharePoint Online. | String | Sí | No |
| Nombre | Description | Tipo | Modificable | Obligatorio |
|---|---|---|---|---|
name |
El nombre del origen de conocimiento, que debe ser único dentro de la colección de orígenes de conocimiento y seguir las pautas de nomenclatura para los objetos de Búsqueda de Azure AI. | String | No | Sí |
kind |
El tipo de origen de conocimiento, que es remoteSharePoint en este caso. |
String | No | Sí |
description |
Descripción del origen de conocimiento. | String | Sí | No |
encryptionKey |
Una clave administrada por el cliente para cifrar información confidencial en el origen de conocimiento. | Objeto | Sí | No |
remoteSharePointParameters |
Parámetros específicos de orígenes de conocimiento remotos de SharePoint: filterExpression, resourceMetadata y containerTypeId. |
Objeto | No | No |
filterExpression |
Expresión escrita en el SharePoint KQL, que se usa para especificar sitios y rutas de acceso al contenido. | String | Sí | No |
resourceMetadata |
Matriz de campos de metadatos estándar: autor, nombre de archivo, fecha de creación, tipo de contenido y tipo de archivo. | Array | Sí | No |
containerTypeId |
Id. de contenedor para la conexión SharePoint Embedded. Cuando no se especifica, se usa SharePoint Online. | String | Sí | No |
Ejemplos de expresiones de filtro
No todas las propiedades de SharePoint se admiten en el filterExpression. Para obtener una lista de las propiedades admitidas, consulte la referencia de la API. Para obtener propiedades consultables, consulte Consultable.
Obtenga más información sobre los filtros KQL en la referencia de sintaxis.
| Example | Expresión de filtro |
|---|---|
| Filtrar a un único sitio por identificador | "filterExpression": "SiteID:\"00aa00aa-bb11-cc22-dd33-44ee44ee44ee\"" |
| Filtrar varios sitios por id. | "filterExpression": "SiteID:\"00aa00aa-bb11-cc22-dd33-44ee44ee44ee\" OR SiteID:\"11bb11bb-cc22-dd33-ee44-55ff55ff55ff\"" |
| Filtrar archivos en una ruta de acceso específica | "filterExpression": "Path:\"https://my-demo.sharepoint.com/sites/mysite/Shared Documents/en/mydocs\"" |
| Filtrar a un intervalo de fechas específico | "filterExpression": "LastModifiedTime >= 2024-07-22 AND LastModifiedTime <= 2025-01-08" |
| Filtrar a archivos de un tipo de archivo específico | "filterExpression": "FileExtension:\"docx\" OR FileExtension:\"pdf\" OR FileExtension:\"pptx\"" |
| Filtrar a archivos de una etiqueta de protección de información específica | "filterExpression": "InformationProtectionLabelId:\"f0ddcc93-d3c0-4993-b5cc-76b0a283e252\"" |
Asignar a una base de conocimiento
Si está satisfecho con el origen de conocimiento, continúe con el paso siguiente: especifique el origen de conocimiento en una base de conocimiento.
Consulta de una base de conocimiento
Una vez configurada la base de conocimiento, use la acción retrieve para consultar SharePoint contenido. Un entorno de SharePoint remoto aplica sus propias reglas de filtrado en tiempo de consulta, formulación de consultas, campos de respuesta y políticas de permisos al procesar consultas.
Aplicación de un filtro KQL en el momento de la consulta
Puede pasar un FilterExpressionAddOn en los KnowledgeSourceParams en la solicitud de recuperación para aplicar un filtro de KQL al hacer la consulta. Si indica FilterExpressionAddOn en la solicitud de recuperación y una FilterExpression en la de definición de fuente de conocimiento, los filtros se combinan con el 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
);
Puede pasar un filter_expression_add_on en los knowledge_source_params en la solicitud de recuperación para aplicar un filtro de KQL al hacer la consulta. Si indica filter_expression_add_on en la solicitud de recuperación y una filter_expression en la de definición de fuente de conocimiento, los filtros se combinan con el 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,
)
Puede pasar un filterExpressionAddOn en los knowledgeSourceParams en la solicitud de recuperación para aplicar un filtro de KQL al hacer la consulta. Si indica filterExpressionAddOn en la solicitud de recuperación y una filterExpression en la de definición de fuente de conocimiento, los filtros se combinan con el 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"
}
]
}
Redacta consultas eficaces
Las consultas que hacen sobre el propio contenido son más eficaces que las preguntas sobre dónde se encuentra un archivo o cuándo se actualizó por última vez. Por ejemplo, "Where is the keynote doc for Ignite 2024" podría no devolver ningún resultado porque el propio contenido no revela su ubicación. Un FilterExpression elemento en metadatos es un mejor enfoque para las consultas específicas de fecha o ubicación de archivo.
Las consultas que hacen sobre el propio contenido son más eficaces que las preguntas sobre dónde se encuentra un archivo o cuándo se actualizó por última vez. Por ejemplo, "Where is the keynote doc for Ignite 2024" podría no devolver ningún resultado porque el propio contenido no revela su ubicación. Un filter_expression elemento en metadatos es un mejor enfoque para las consultas específicas de fecha o ubicación de archivo.
Las consultas que hacen sobre el propio contenido son más eficaces que las preguntas sobre dónde se encuentra un archivo o cuándo se actualizó por última vez. Por ejemplo, "Where is the keynote doc for Ignite 2024" podría no devolver ningún resultado porque el propio contenido no revela su ubicación. Un filterExpression elemento en metadatos es un mejor enfoque para las consultas específicas de fecha o ubicación de archivo.
Una pregunta más eficaz es "¿Cuál es la documentación principal de Ignite 2024?" La respuesta incluye la respuesta sintetizada, la actividad de consulta y los recuentos de tokens, además de la dirección URL y otros metadatos.
Campos de respuesta específicos de SharePoint
Los resultados de los SharePoint remotos incluyen campos que no aparecen para otros tipos de origen de conocimiento, como resourceMetadata, webUrl y 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 autorizaciones en el momento de la consulta
Los orígenes de conocimiento remotos de SharePoint pueden aplicar los permisos de SharePoint en el momento de la consulta. Para habilitar este filtrado, incluya el token de acceso del usuario final en la solicitud de recuperación. El motor de recuperación pasa el token a la API de recuperación de Copilot, que consulta SharePoint y devuelve solo el contenido al que el usuario tiene acceso. En SharePoint se respetan los permisos y las etiquetas de confidencialidad de Microsoft Purview.
Dado que el SharePoint remoto no usa un índice de búsqueda, no se necesita ninguna configuración de permisos en tiempo de ingesta. El token de acceso es el único requisito.
Para obtener instrucciones sobre cómo pasar el token, consulte Aplicar permisos en el momento de la consulta.
Eliminación de una fuente de conocimiento
Para poder eliminar un origen de conocimiento, debe eliminar cualquier base de conocimiento que haga referencia a ella o actualizar la definición de la base de conocimiento para quitar la referencia. En el caso de los orígenes de conocimiento que generan una canalización de índice e indexador, también se eliminan todos los objetos generados . Sin embargo, si usó un índice existente para crear un origen de conocimiento, el índice no se eliminará.
Si intenta eliminar un origen de conocimiento que está en uso, se produce un error en la acción y devuelve una lista de bases de conocimiento afectadas.
Para eliminar un origen de conocimiento:
Obtenga una lista de todas las bases de conocimiento del servicio de búsqueda.
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}"); }Una respuesta de ejemplo podría ser similar a la siguiente:
Knowledge Bases: - earth-knowledge-base - hotels-sample-knowledge-base - my-demo-knowledge-baseObtenga una definición de base de conocimiento individual para comprobar si hay referencias de origen de conocimiento.
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);Una respuesta de ejemplo podría ser similar a la siguiente:
{ "Name": "earth-knowledge-base", "KnowledgeSources": [ { "Name": "earth-knowledge-source" } ], "Models": [ {} ], "RetrievalReasoningEffort": {}, "OutputMode": {}, "ETag": "\u00220x8DE278629D782B3\u0022", "EncryptionKey": null, "Description": null, "RetrievalInstructions": null, "AnswerInstructions": null }Elimine la base de conocimiento o actualice la base de conocimiento para quitar el origen de conocimiento si tiene varios orígenes. En este ejemplo se muestra la eliminación.
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.");Elimine la fuente de conocimiento.
await indexClient.DeleteKnowledgeSourceAsync(knowledgeSourceName); System.Console.WriteLine($"Knowledge source '{knowledgeSourceName}' deleted successfully.");
Para poder eliminar un origen de conocimiento, debe eliminar cualquier base de conocimiento que haga referencia a ella o actualizar la definición de la base de conocimiento para quitar la referencia. En el caso de los orígenes de conocimiento que generan una canalización de índice e indexador, también se eliminan todos los objetos generados . Sin embargo, si usó un índice existente para crear un origen de conocimiento, el índice no se eliminará.
Si intenta eliminar un origen de conocimiento que está en uso, se produce un error en la acción y devuelve una lista de bases de conocimiento afectadas.
Para eliminar un origen de conocimiento:
Obtenga una lista de todas las bases de conocimiento del servicio de búsqueda.
# 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))Una respuesta de ejemplo podría ser similar a la siguiente:
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Obtenga una definición de base de conocimiento individual para comprobar si hay referencias de origen de conocimiento.
# 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))Una respuesta de ejemplo podría ser similar a la siguiente:
{ "name": "my-kb", "description": null, "retrievalInstructions": null, "answerInstructions": null, "outputMode": null, "knowledgeSources": [ { "name": "my-blob-ks", } ], "models": [], "encryptionKey": null, "retrievalReasoningEffort": { "kind": "low" } }Elimine la base de conocimiento o actualice la base de conocimiento para quitar el origen de conocimiento si tiene varios orígenes. En este ejemplo se muestra la eliminación.
# 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.")Elimine la fuente de conocimiento.
# 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.")
Para poder eliminar un origen de conocimiento, debe eliminar cualquier base de conocimiento que haga referencia a ella o actualizar la definición de la base de conocimiento para quitar la referencia. En el caso de los orígenes de conocimiento que generan una canalización de índice e indexador, también se eliminan todos los objetos generados . Sin embargo, si usó un índice existente para crear un origen de conocimiento, el índice no se eliminará.
Si intenta eliminar un origen de conocimiento que está en uso, se produce un error en la acción y devuelve una lista de bases de conocimiento afectadas.
Para eliminar un origen de conocimiento:
Obtenga una lista de todas las bases de conocimiento del servicio de búsqueda.
### Get knowledge bases GET {{search-endpoint}}/knowledgebases?api-version=2025-11-01-preview&$select=name api-key: {{api-key}}Una respuesta de ejemplo podría ser similar a la siguiente:
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Obtenga una definición de base de conocimiento individual para comprobar si hay referencias de origen de conocimiento.
### Get a knowledge base definition GET {{search-endpoint}}/knowledgebases/{{knowledge-base-name}}?api-version=2025-11-01-preview api-key: {{api-key}}Una respuesta de ejemplo podría ser similar a la siguiente:
{ "name": "my-kb", "description": null, "retrievalInstructions": null, "answerInstructions": null, "outputMode": null, "knowledgeSources": [ { "name": "my-blob-ks", } ], "models": [], "encryptionKey": null, "retrievalReasoningEffort": { "kind": "low" } }Elimine la base de conocimiento o actualice la base de conocimiento quitando el origen de conocimiento si tiene varios orígenes. En este ejemplo se muestra la eliminación.
### Delete a knowledge base DELETE {{search-endpoint}}/knowledgebases/{{knowledge-base-name}}?api-version=2025-11-01-preview api-key: {{api-key}}Elimine la fuente de conocimiento.
### Delete a knowledge source DELETE {{search-endpoint}}/knowledgesources/{{knowledge-source-name}}?api-version=2025-11-01-preview api-key: {{api-key}}