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 de recuperación agente está disponible con carácter general en la API REST 2026-04-01 a través del acceso mediante programación. El portal de Azure y el portal de Microsoft Foundry continúan proporcionando acceso solo para vista previa a todas las funcionalidades de recuperación basada en agentes. Para obtener instrucciones sobre la migración, consulte Migración del código de recuperación agente a la versión más reciente.
Si decide usar una API REST en versión preliminar, puede acceder a las funcionalidades que aún no están disponibles con carácter general para esta característica. Las características en versión preliminar se proporcionan sin un contrato de nivel de servicio y no se recomiendan para cargas de trabajo de producción. Para más información, consulte Términos de uso complementarios para las versiones preliminares de Microsoft Azure.
Importante
Estas características y funcionalidades forman parte de la API REST 2026-05-01-preview. La versión preliminar 2026-05-01-preview se le concede bajo licencia como parte de su suscripción de Azure y está sujeta a los términos aplicables a las "Versiones preliminares" establecidos en los Microsoft Product Terms, el Microsoft Products and Services Data Protection Addendum ("DPA") y los Términos de uso complementarios para las versiones preliminares de Microsoft Azure.
La 2026-05-01-preview admite conexiones a otros servicios de Microsoft y a servicios de terceros. El uso de estos servicios está sujeto a sus respectivos términos y podría dar lugar a procesamiento o almacenamiento de datos fuera del límite de cumplimiento de Azure, así como a los datos que fluyen a los límites de cumplimiento de Azure.
Es su responsabilidad gestionar si sus datos saldrán fuera de los límites geográficos y de cumplimiento normativo de su organización, así como cualquier implicación relacionada, y garantizar que se hayan establecido los permisos, límites y aprobaciones adecuados.
Es responsable de revisar y probar cuidadosamente las aplicaciones que compile en el contexto de sus casos de uso específicos y de tomar todas las decisiones y personalizaciones adecuadas. Esto incluye implementar sus propias mitigaciones de IA responsables, como metaprompts, filtros de contenido u otros sistemas de seguridad, y garantizar que las aplicaciones cumplan los estándares de calidad, confiabilidad, seguridad y confiabilidad adecuados. Para obtener más información, consulte la nota de transparencia Búsqueda de Azure AI.
En Búsqueda de Azure AI, una base de conocimiento es un objeto de nivel superior que organiza la recuperación agéntica. Define los orígenes de conocimiento que se van a consultar y el comportamiento predeterminado de las operaciones de recuperación. En el momento de la consulta, el método retrieve tiene como destino la base de conocimiento para ejecutar la canalización de recuperación configurada.
Puede crear una base de conocimiento en una carga de trabajo Foundry IQ en el portal de Microsoft Foundry (nuevo). También necesita una base de conocimiento en cualquier solución basada en agentes que cree mediante las API de Búsqueda de Azure AI.
Una base de conocimiento especifica:
Uno o varios orígenes de conocimiento que apuntan al contenido que se puede buscar.
Un LLM opcional para el planeamiento de consultas, la síntesis de respuestas o el resumen de contenido web. Las tareas admitidas varían según la versión de API y el tipo de origen de conocimiento.
Propiedades personalizadas que controlan el enrutamiento, la selección de origen y el cifrado de objetos.
Soporte para el uso
| Azure Portal | portal Microsoft Foundry | SDK de .NET | SDK de Python | SDK de Java | SDK de JavaScript | REST API |
|---|---|---|---|---|---|---|
| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Requisitos previos
Búsqueda de Azure AI en cualquier región que proporcione recuperación agentiva. Si usa una identidad administrada para el acceso basado en roles a los modelos implementados, el servicio de búsqueda debe estar en el nivel Básico o superior.
Uno o varios orígenes de conocimiento. Use la versión de API 2026-05-01-preview para acceder a orígenes de conocimiento en versión preliminar o para usar un LLM con orígenes de conocimiento no web. Use la versión de API 2026-04-01 para orígenes de conocimiento disponibles con carácter general y recuperación extractiva mínima.
(Condicional) Azure OpenAI con una implementación de LLM compatible. Se requiere un LLM si la base de conocimiento incluye un origen de conocimiento web. Para otros orígenes de conocimiento, un LLM es opcional en la versión de API 2026-05-01-preview y no se admite en la versión de API 2026-04-01.
Permisos para crear bases de conocimiento. Configure la autenticación sin clave con el rol Colaborador del servicio de búsqueda asignado a su cuenta de usuario (recomendado) o use una clave de API.
Si la base de conocimiento especifica un LLM, el servicio de búsqueda debe tener una identidad administrada con permisos de Cognitive Services User en el recurso Microsoft Foundry.
Paquete
Azure.Search.Documentsrequerido:Para 2026-05-01-preview features, el paquete de versión preliminar más reciente:
dotnet add package Azure.Search.Documents --prereleasePara las características del 2026-04-01, el paquete estable más reciente:
dotnet add package Azure.Search.Documents
Paquete
azure-search-documentsrequerido:Para 2026-05-01-preview features, el paquete de versión preliminar más reciente:
pip install --pre azure-search-documentsPara las características del 2026-04-01, el paquete estable más reciente:
pip install azure-search-documents
Versión necesaria de la API REST:
Para características en versión preliminar: Search Service 2026-05-01-preview
Para las características disponibles con carácter general: Search Service 2026-04-01
Modelos admitidos
Utilice uno de los siguientes modelos de lenguaje grande (LLM) de Azure OpenAI en Foundry Models. Azure OpenAI determina la disponibilidad regional de la implementación que seleccione. Para obtener instrucciones de implementación, consulte Deploy Microsoft Foundry Models en el portal de Foundry.
| Model | Versiones de API admitidas |
|---|---|
gpt-4o |
2025-11-01-preview, 2026-05-01-preview |
gpt-4o-mini |
2025-11-01-preview, 2026-05-01-preview |
gpt-4.1 |
2025-11-01-preview, 2026-05-01-preview |
gpt-4.1-mini |
2025-11-01-preview, 2026-05-01-preview |
gpt-4.1-nano |
2025-11-01-preview, 2026-05-01-preview |
gpt-5 |
2025-11-01-preview, 2026-05-01-preview |
gpt-5-mini |
2025-11-01-preview, 2026-05-01-preview |
gpt-5-nano |
2025-11-01-preview, 2026-05-01-preview |
gpt-5.1 |
versión preliminar del 2026-05-01 |
gpt-5.2 |
versión preliminar del 2026-05-01 |
gpt-5.4 |
versión preliminar del 2026-05-01 |
gpt-5.4-mini |
versión preliminar del 2026-05-01 |
gpt-5.4-nano |
versión preliminar del 2026-05-01 |
Configuración del acceso
Búsqueda de Azure AI necesita acceso al LLM desde Azure OpenAI en Foundry Models. Se recomienda Microsoft Entra ID para la autenticación y el acceso basado en roles para la autorización. Para asignar roles, debe ser propietario o administrador de acceso de usuario. Si no puede usar roles, use la autenticación basada en claves en su lugar.
Habilite el control de acceso basado en rol en Búsqueda de Azure AI.
Configure Búsqueda de Azure AI para usar una identidad administrada.
En el proveedor de modelos, asigne Usuario de Cognitive Services a la identidad administrada de su servicio de búsqueda. Si está probando localmente, asigne el mismo rol a la cuenta de usuario.
Para las pruebas locales, siga los pasos descritos en Inicio rápido: Conexión sin claves para iniciar sesión en una suscripción e inquilino específicos. Use
DefaultAzureCredentialen lugar deAzureKeyCredentialen cada solicitud, que debe tener un aspecto similar al ejemplo siguiente:// Authenticate using roles using Azure.Search.Documents.Indexes; using Azure.Identity; var indexClient = new SearchIndexClient(new Uri(searchEndpoint), new DefaultAzureCredential());
Habilite el control de acceso basado en rol en Búsqueda de Azure AI.
Configure Búsqueda de Azure AI para usar una identidad administrada.
En el proveedor de modelos, asigne Usuario de Cognitive Services a la identidad administrada de su servicio de búsqueda. Si está probando localmente, asigne el mismo rol a la cuenta de usuario.
Para las pruebas locales, siga los pasos descritos en Inicio rápido: Conexión sin claves para iniciar sesión en una suscripción e inquilino específicos. Use
DefaultAzureCredentialen lugar deAzureKeyCredentialen cada solicitud, que debe tener un aspecto similar al ejemplo siguiente:# Authenticate using roles from azure.identity import DefaultAzureCredential index_client = SearchIndexClient(endpoint = "search_url", credential = DefaultAzureCredential())
Habilite el control de acceso basado en rol en Búsqueda de Azure AI.
Configure Búsqueda de Azure AI para usar una identidad administrada.
En el proveedor de modelos, asigne Usuario de Cognitive Services a la identidad administrada de su servicio de búsqueda. Si está probando localmente, asigne el mismo rol a la cuenta de usuario.
Para las pruebas locales, siga los pasos descritos en Inicio rápido: Conexión sin claves para obtener un token de acceso personal para una suscripción e inquilino específicos. Especifique el token de acceso en cada solicitud, que debe ser similar al ejemplo siguiente:
# List indexes using roles GET https://{{search-url}}/indexes?api-version=2026-04-01 Content-Type: application/json Authorization: Bearer {{access-token}}
Importante
Los fragmentos de código de este artículo usan claves de API. Si usa la autenticación basada en roles, actualice cada solicitud en consecuencia. En una solicitud que especifica ambos enfoques, la clave de API tiene prioridad.
Comprobación de las bases de conocimiento existentes
Una base de conocimiento es un objeto reutilizable de nivel superior. Conocer las bases de conocimiento existentes resulta útil para reutilizar o asignar nombres a nuevos objetos.
Ejecute el código siguiente para enumerar las bases de conocimiento existentes por nombre. La lista incluye todas las bases de conocimiento del servicio de búsqueda, independientemente de la versión de API que usó para crearlas.
// List knowledge bases by name
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}");
}
Reference:SearchIndexClient
# List knowledge bases by name
from azure.core.credentials import AzureKeyCredential
from azure.search.documents.indexes import SearchIndexClient
index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key"))
for kb in index_client.list_knowledge_bases():
print(f" - {kb.name}")
Reference:SearchIndexClient
# List knowledge bases
GET {{search-url}}/knowledgebases?api-version={{api-version}}&$select=name
Content-Type: application/json
api-key: {{search-api-key}}
Reference:Knowledge Bases - List
También puede devolver una base de conocimiento única por su 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 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);
Reference:SearchIndexClient
# Get a knowledge base definition
from azure.core.credentials import AzureKeyCredential
from azure.search.documents.indexes import SearchIndexClient
import json
index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key"))
kb = index_client.get_knowledge_base("knowledge_base_name")
print(json.dumps(kb.as_dict(), indent = 2))
Reference:SearchIndexClient
# Get knowledge base
GET {{search-url}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}}
Content-Type: application/json
api-key: {{search-api-key}}
Reference:Bases de Conocimiento - Obtener
El siguiente JSON es una respuesta de ejemplo para una base de conocimiento.
{
"name": "my-kb",
"description": "A sample knowledge base.",
"retrievalInstructions": null,
"answerInstructions": null,
"outputMode": null,
"knowledgeSources": [
{
"name": "my-blob-ks"
}
],
"models": [],
"encryptionKey": null,
"retrievalReasoningEffort": {
"kind": "low"
}
}
Nota
El esquema de respuesta refleja la versión de la API que usó para crear la base de conocimiento. Una base de conocimiento creada con la versión de API 2026-04-01 disponible con carácter general devuelve una definición más estrecha que 2026-05-01-preview. Para obtener más información sobre qué propiedades admite cada versión, consulte la sección siguiente.
Creación de una base de conocimiento
Importante
La versión de la API 2026-04-01 solo acepta tipos de origen de conocimiento disponibles con carácter general y admite una recuperación extractiva mínima. No se admiten funcionalidades de solo versión preliminar, como el planeamiento de consultas, la síntesis de respuestas y el esfuerzo de razonamiento configurable. Para disponer de toda la funcionalidad, use la versión 2026-05-01-preview.
Una base de conocimiento conecta uno o varios orígenes de conocimiento (contenido que se puede buscar) a un LLM opcional desde Azure OpenAI en Foundry Models. Las propiedades establecidas establecen los valores predeterminados para la ejecución de consultas y la respuesta de recuperación.
Después de crear una base de conocimiento, puede actualizar sus propiedades en cualquier momento. Si la base de conocimiento está en uso, las actualizaciones surten efecto en la siguiente recuperación.
// Create a knowledge base
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), new AzureKeyCredential(apiKey));
var aoaiParams = new AzureOpenAIVectorizerParameters
{
ResourceUri = new Uri(aoaiEndpoint),
DeploymentName = aoaiGptDeployment,
ModelName = aoaiGptModel,
ApiKey = aoaiApiKey
};
var knowledgeBase = new KnowledgeBase(
name: "my-kb",
knowledgeSources: new KnowledgeSourceReference[]
{
new KnowledgeSourceReference("hotels-ks"),
new KnowledgeSourceReference("earth-at-night-ks")
}
)
{
Description = "This knowledge base handles questions directed at two unrelated sample indexes.",
RetrievalInstructions = "Use the hotels knowledge source for queries about where to stay, otherwise use the earth at night knowledge source.",
AnswerInstructions = "Provide a two-sentence, concise, and informative answer based on the retrieved documents.",
OutputMode = KnowledgeRetrievalOutputMode.AnswerSynthesis,
Models = { new KnowledgeBaseAzureOpenAIModel(azureOpenAIParameters: aoaiParams) },
RetrievalReasoningEffort = new KnowledgeRetrievalLowReasoningEffort()
};
await indexClient.CreateOrUpdateKnowledgeBaseAsync(knowledgeBase);
Console.WriteLine($"Knowledge base '{knowledgeBase.Name}' created or updated successfully.");
Reference:SearchIndexClient, KnowledgeBase
# Create a knowledge base
from azure.core.credentials import AzureKeyCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import (
AzureOpenAIVectorizerParameters,
KnowledgeBase,
KnowledgeBaseAzureOpenAIModel,
KnowledgeSourceReference,
)
from azure.search.documents.knowledgebases.models import KnowledgeRetrievalLowReasoningEffort
index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key"))
aoai_params = AzureOpenAIVectorizerParameters(
resource_url = "aoai_endpoint",
api_key="aoai_api_key",
deployment_name = "aoai_gpt_deployment",
model_name = "aoai_gpt_model",
)
knowledge_base = KnowledgeBase(
name = "my-kb",
description = "This knowledge base handles questions directed at two unrelated sample indexes.",
retrieval_instructions = "Use the hotels knowledge source for queries about where to stay, otherwise use the earth at night knowledge source.",
answer_instructions = "Provide a two-sentence, concise, and informative answer based on the retrieved documents.",
output_mode = "answerSynthesis",
knowledge_sources = [
KnowledgeSourceReference(name = "hotels-ks"),
KnowledgeSourceReference(name = "earth-at-night-ks"),
],
models = [KnowledgeBaseAzureOpenAIModel(azure_open_ai_parameters = aoai_params)],
encryption_key = None,
retrieval_reasoning_effort = KnowledgeRetrievalLowReasoningEffort(),
)
index_client.create_or_update_knowledge_base(knowledge_base)
print(f"Knowledge base '{knowledge_base.name}' created or updated successfully.")
Reference:SearchIndexClient, KnowledgeBase
# Create a knowledge base
PUT {{search-url}}/knowledgebases/{{knowledge-base-name}}?api-version=2026-05-01-preview
Content-Type: application/json
api-key: {{search-api-key}}
{
"name" : "my-kb",
"description": "This knowledge base handles questions directed at two unrelated sample indexes.",
"retrievalInstructions": "Use the hotels knowledge source for queries about where to stay, otherwise use the earth at night knowledge source.",
"answerInstructions": null,
"outputMode": "answerSynthesis",
"knowledgeSources": [
{
"name": "hotels-ks"
},
{
"name": "earth-at-night-ks"
}
],
"models" : [
{
"kind": "azureOpenAI",
"azureOpenAIParameters": {
"resourceUri": "{{model-provider-url}}",
"apiKey": "{{model-api-key}}",
"deploymentId": "gpt-5.4-mini",
"modelName": "gpt-5.4-mini"
}
}
],
"encryptionKey": null,
"retrievalReasoningEffort": {
"kind": "low"
}
}
Reference:Knowledge Bases: Crear o actualizar
Propiedades de la base de conocimiento
Pase las siguientes propiedades para crear una base de conocimiento.
| Nombre | Descripción | Tipo | Obligatorio |
|---|---|---|---|
Name |
Nombre de la base de conocimiento. Debe ser único dentro de la colección de bases de conocimiento y seguir las directrices de nombres para los objetos de Búsqueda de Azure AI. | Cadena | Sí |
KnowledgeSources |
Uno o varios orígenes de conocimiento admitidos. | Matriz | Sí |
Description |
Descripción de la base de conocimiento. El LLM usa la descripción para informar al planeamiento de consultas. | Cadena | No |
RetrievalInstructions |
Solicitud de LLM para determinar si un origen de conocimiento debe estar en el ámbito de una consulta. Incluya este mensaje cuando tenga varios orígenes de conocimiento. Este campo influye tanto en la selección del origen de conocimiento como en la formulación de consultas. Por ejemplo, las instrucciones podrían anexar información o priorizar un origen de conocimiento. Las instrucciones se pasan directamente al LLM, lo que significa que es posible proporcionar instrucciones que interrumpan la planificación de consultas, como las instrucciones que dan lugar a omitir una fuente de conocimiento esencial. | Cadena | No |
AnswerInstructions |
Instrucciones personalizadas para dar forma a las respuestas sintetizadas. El valor predeterminado es NULL. Para obtener más información, consulte Utilizar la síntesis de respuestas para respuestas respaldadas por citas. | Cadena | No |
OutputMode |
Los valores válidos son AnswerSynthesis para una respuesta generada por un LLM o ExtractedData para los resultados de búsqueda completos que puede pasar a un LLM como un paso posterior. |
Cadena | No |
Models |
Necesario para las fuentes de conocimiento web. Opcional para otros tipos de origen de conocimiento. Especifica un LLM compatible para la planificación de consultas o la síntesis de respuestas. Obtenga los detalles de conexión desde el portal de Microsoft Foundry o una solicitud de línea de comandos y, a continuación, proporcionelos mediante la clase KnowledgeBaseAzureOpenAIModel. Puede usar el control de acceso basado en rol en lugar de las claves de API para la conexión de Búsqueda de Azure AI al modelo. | Matriz | No |
RetrievalReasoningEffort |
Determina el nivel de procesamiento de consultas relacionado con LLM. Los valores válidos son minimal, low (valor predeterminado) y medium. Para obtener más información, consulte Configure el esfuerzo de razonamiento de recuperación. |
Objeto | No |
EncryptionKey |
Clave administrada por el cliente para cifrar información confidencial tanto en la base de conocimiento como en los objetos generados. | Objeto | No |
| Nombre | Descripción | Tipo | Obligatorio |
|---|---|---|---|
name |
Nombre de la base de conocimiento. Debe ser único dentro de la colección de bases de conocimiento y seguir las directrices de nombres para los objetos de Búsqueda de Azure AI. | Cadena | Sí |
description |
Descripción de la base de conocimiento. El LLM usa la descripción para informar al planeamiento de consultas. | Cadena | No |
retrieval_instructions |
Solicitud de LLM para determinar si un origen de conocimiento debe estar en el ámbito de una consulta. Incluya este mensaje cuando tenga varios orígenes de conocimiento. Este campo influye tanto en la selección del origen de conocimiento como en la formulación de consultas. Por ejemplo, las instrucciones podrían anexar información o priorizar un origen de conocimiento. Pase las instrucciones directamente al LLM. Es posible proporcionar instrucciones que interrumpen el proceso de planificación de consultas, como instrucciones que resultan en pasar por alto una fuente esencial de conocimiento. | Cadena | No |
answer_instructions |
Instrucciones personalizadas para dar forma a las respuestas sintetizadas. El valor predeterminado es NULL. Para obtener más información, consulte Utilizar la síntesis de respuestas para respuestas respaldadas por citas. | Cadena | No |
output_mode |
Los valores válidos son answerSynthesis para una respuesta generada por un LLM o extractedData para los resultados de búsqueda completos que puede pasar a un LLM como un paso posterior. |
Cadena | No |
knowledge_sources |
Uno o varios orígenes de conocimiento admitidos. | Matriz | Sí |
models |
Necesario para las fuentes de conocimiento web. Opcional para otros tipos de origen de conocimiento. Especifica un LLM compatible para la planificación de consultas o la síntesis de respuestas. Obtenga los detalles de conexión desde el portal de Microsoft Foundry o una solicitud de línea de comandos. Puede usar el control de acceso basado en rol en lugar de las claves de API para la conexión de Búsqueda de Azure AI al modelo. | Matriz | No |
encryption_key |
Clave administrada por el cliente para cifrar información confidencial tanto en la base de conocimiento como en los objetos generados. | Objeto | No |
retrieval_reasoning_effort |
Determina el nivel de procesamiento de consultas relacionado con LLM. Los valores válidos son minimal, low (valor predeterminado) y medium. Para obtener más información, consulte Configure el esfuerzo de razonamiento de recuperación. |
Objeto | No |
| Nombre | Descripción | Tipo | Obligatorio |
|---|---|---|---|
name |
Nombre de la base de conocimiento. Debe ser único dentro de la colección de bases de conocimiento y seguir las directrices de nombres para los objetos de Búsqueda de Azure AI. | Cadena | Sí |
description |
Descripción de la base de conocimiento. El LLM usa la descripción para informar al planeamiento de consultas. | Cadena | No |
retrievalInstructions |
Solicitud de LLM para determinar si un origen de conocimiento debe estar en el ámbito de una consulta. Incluya este mensaje cuando tenga varios orígenes de conocimiento. Este campo influye tanto en la selección del origen de conocimiento como en la formulación de consultas. Por ejemplo, las instrucciones podrían anexar información o priorizar un origen de conocimiento. Las instrucciones se pasan directamente al LLM, lo que significa que es posible proporcionar instrucciones que rompan la planificación de consultas, como instrucciones que dan lugar a omitir un origen de conocimiento esencial. | Cadena | No |
answerInstructions |
Instrucciones personalizadas para dar forma a las respuestas sintetizadas. El valor predeterminado es NULL. Para obtener más información, consulte Utilizar la síntesis de respuestas para respuestas respaldadas por citas. | Cadena | No |
outputMode |
Los valores válidos son answerSynthesis para una respuesta generada por un LLM o extractedData para los resultados de búsqueda completos que puede pasar a un LLM como un paso posterior. |
Cadena | No |
knowledgeSources |
Uno o varios orígenes de conocimiento admitidos. | Matriz | Sí |
models |
Necesario para las fuentes de conocimiento web. Opcional para otros tipos de origen de conocimiento. Especifica un LLM compatible para la planificación de consultas o la síntesis de respuestas. Obtenga los detalles de conexión desde el portal de Microsoft Foundry o una solicitud de línea de comandos. Puede usar el control de acceso basado en rol en lugar de las claves de API para la conexión de Búsqueda de Azure AI al modelo. | Matriz | No |
encryptionKey |
Clave administrada por el cliente para cifrar información confidencial tanto en la base de conocimiento como en los objetos generados. | Objeto | No |
retrievalReasoningEffort.kind |
Determina el nivel de procesamiento de consultas relacionado con LLM. Los valores válidos son minimal, low (valor predeterminado) y medium. Para obtener más información, consulte Configure el esfuerzo de razonamiento de recuperación. |
Objeto | No |
Configuración de CORS para llamadas de recuperación basadas en explorador (versión preliminar)
Importante
Puede usar 2026-05-01-preview para habilitar el uso compartido de recursos entre orígenes (CORS), que permite a las aplicaciones basadas en explorador solicitar datos directamente desde el servicio. En función de la configuración de CORS, es posible que las páginas web externas puedan acceder o invocar el servicio y sus datos mediante el contexto del explorador del usuario, así como crear otras amenazas de seguridad. Habilitar CORS es bajo su propia responsabilidad.
En la versión de API 2026-05-01-preview, una base de conocimiento puede definir corsOptions para las aplicaciones basadas en explorador que llaman a la acción de recuperación directamente desde JavaScript. La directiva CORS identifica qué orígenes del explorador pueden enviar solicitudes de recuperación a la base de conocimiento.
Cuando se omite corsOptions, la base de conocimiento no tiene ninguna directiva CORS y los exploradores bloquean las solicitudes de recuperación entre orígenes.
En el ejemplo siguiente se crea una base de conocimiento que permite recuperar solicitudes de un origen del explorador.
using Azure;
using Azure.Search.Documents.Indexes;
using Azure.Search.Documents.Indexes.Models;
var indexClient = new SearchIndexClient(new Uri(searchEndpoint), new AzureKeyCredential(apiKey));
var knowledgeBase = new KnowledgeBase(
name: "browser-chat-kb",
knowledgeSources: new[] { new KnowledgeSourceReference("product-docs-ks") }
)
{
Description = "A knowledge base that allows one browser app origin.",
CorsOptions = new CorsOptions(new[] { "https://myapp.example.com" })
{
MaxAgeInSeconds = 300
}
};
await indexClient.CreateOrUpdateKnowledgeBaseAsync(knowledgeBase);
Reference:CorsOptions, KnowledgeBase
from azure.core.credentials import AzureKeyCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import (
CorsOptions,
KnowledgeBase,
KnowledgeSourceReference,
)
index_client = SearchIndexClient(endpoint="search_url", credential=AzureKeyCredential("api_key"))
knowledge_base = KnowledgeBase(
name="browser-chat-kb",
description="A knowledge base that allows one browser app origin.",
knowledge_sources=[KnowledgeSourceReference(name="product-docs-ks")],
cors_options=CorsOptions(
allowed_origins=["https://myapp.example.com"],
max_age_in_seconds=300,
),
)
index_client.create_or_update_knowledge_base(knowledge_base)
Reference:CorsOptions, KnowledgeBase
PUT {{search-url}}/knowledgebases/browser-chat-kb?api-version=2026-05-01-preview
Content-Type: application/json
api-key: {{search-api-key}}
{
"name": "browser-chat-kb",
"description": "A knowledge base that allows one browser app origin.",
"knowledgeSources": [
{
"name": "product-docs-ks"
}
],
"corsOptions": {
"allowedOrigins": [
"https://myapp.example.com"
],
"maxAgeInSeconds": 300
}
}
corsOptions acepta las siguientes propiedades.
| Nombre | Descripción | Tipo | Obligatorio |
|---|---|---|---|
allowedOrigins |
Enumera los orígenes que pueden acceder a la base de conocimiento desde un navegador. Para las aplicaciones de producción, use una lista explícita de orígenes. Puede usar "*" para permitir todos los orígenes, pero esta configuración no se recomienda para producción. |
Matriz | Sí |
maxAgeInSeconds |
Controla cuánto tiempo los navegadores pueden almacenar en caché la respuesta de comprobación previa. Cuando se omite, la duración predeterminada de la memoria caché preparatoria es de 300 segundos. | Integer | No |
Consulta de una base de conocimiento
Después de crear una base de conocimiento, usa la acción retrieve o el endpoint de MCP para consultarla.
Eliminación de una base de conocimiento
Si ya no necesita la base de conocimiento o necesita recompilarla en el servicio de búsqueda, ejecute el código siguiente para eliminar el objeto.
// Delete a knowledge base
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.");
Reference:SearchIndexClient
# 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.")
Reference:SearchIndexClient
# Delete a knowledge base
DELETE {{search-url}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}}
api-key: {{search-api-key}}
Referencia:Bases de Conocimiento - Eliminar