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
Búsqueda de Azure AI está disponible a través del portal de Azure, las API REST y los SDK de Azure. También respalda Foundry IQ, la capa de conocimiento administrada que transforma el contenido empresarial en bases de conocimiento reutilizables y compatibles con permisos para agentes en el portal de Microsoft Foundry.
Importante
Las características, funcionalidades o propiedades marcadas (versión preliminar) no están cubiertas por un contrato de nivel de servicio, no se recomiendan para cargas de trabajo de producción y pueden cambiar o restringirse antes de que estén disponibles con carácter general. Los términos de la versión preliminar Búsqueda de Azure AI se aplican a todas las funciones de vista previa, ya sea independiente o parte de una característica disponible con carácter general.
En la recuperación agéntica, puede especificar el nivel de procesamiento del modelo de lenguaje de gran tamaño (LLM) para la planificación de consultas y la formulación de respuestas. Utilice el esfuerzo de razonamiento de recuperación (versión preliminar) para establecer los niveles de procesamiento de LLM que afectan a los costes y la latencia. El procesamiento de LLM adicional mejora la relevancia, pero también tarda más tiempo y usa recursos LLM facturables.
Puede establecer esta propiedad en una base de conocimiento o en una solicitud de recuperación. La configuración de la base de conocimiento establece el valor predeterminado para todas las consultas, mientras que la configuración de solicitud de recuperación invalida el valor predeterminado en una consulta por consulta. Si ninguno de los valores está presente, el servicio usa low.
Soporte para el uso
| Portal de Azure | Portal de Microsoft Foundry | SDK de .NET | SDK de Python | SDK de Java | SDK de JavaScript | REST API |
|---|---|---|---|---|---|---|
| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Requisitos previos
Una base de conocimiento existente con al menos un origen de conocimiento y una configuración de modelo.
Permiso para actualizar y consultar bases de conocimiento. Configure la autenticación sin clave con los roles Colaborador del servicio de búsqueda y Lector de datos de índice de búsqueda asignados a su cuenta de usuario (recomendado) o use una clave de API de administrador.
El paquete de versión preliminar
Azure.Search.Documentsmás reciente:dotnet add package Azure.Search.Documents --prereleasePara la autenticación sin claves, el
Azure.Identitypaquete:dotnet add package Azure.Identity
El paquete de versión preliminar
azure-search-documentsmás reciente:pip install --pre azure-search-documentsPara la autenticación sin claves, el
azure-identitypaquete:pip install azure-identity
La versión 2026-08-01-preview de la API REST del servicio de búsqueda.
Para la autenticación sin claves, incluya un token de Microsoft Entra ID en el
Authorizationencabezado de cada solicitud HTTP.
Elegir un esfuerzo de razonamiento
Elija un esfuerzo de razonamiento basado en el equilibrio que desee entre la latencia, el costo y la profundidad de recuperación.
Niveles de esfuerzo de razonamiento
| Nivel | Descripción | Recomendación | Límites |
|---|---|---|---|
minimal |
Deshabilita la planificación de consultas basada en LLM para ofrecer el costo y la latencia más bajos para la recuperación agéntica. Emite búsquedas directas de texto y vectores en los orígenes de conocimiento enumerados en la base de conocimiento y devuelve los pasajes que coinciden mejor. Dado que siempre se buscan todos los orígenes de conocimiento de la base de conocimiento y no se realiza ninguna expansión de consultas, el comportamiento es predecible y fácil de controlar. También significa que se omite la propiedad alwaysQueryKnowledgeSource de una solicitud de recuperación. |
Use minimal para migraciones desde Search API o cuando quiera administrar el planeamiento de consultas usted mismo. |
|
low |
El modo predeterminado de recuperación agéntica, que ejecuta un único paso de planificación de consultas basadas en LLM y selección de fuentes de conocimiento. El motor de recuperación agencial genera subconsultas y las distribuye entre las fuentes de conocimiento seleccionadas, luego combina los resultados. Puede habilitar la síntesis de respuestas (versión preliminar) para generar una respuesta basada en lenguaje natural con citas insertadas. | Use low cuando desee un equilibrio entre una latencia mínima y un procesamiento más profundo. |
|
medium |
Agrega una búsqueda más profunda y una pila de recuperación mejorada a la recuperación de agentes para maximizar la completitud. Después de la primera búsqueda, un clasificador semántico de alta precisión evalúa los documentos recuperados. Si los resultados iniciales no son lo suficientemente relevantes, el servicio realiza una iteración de seguimiento mediante un plan de consulta revisado. | Utiliza medium para maximizar la utilidad de la recuperación de conocimientos asistida por LLM. |
|
auto |
Comienza con un pase de recuperación ligero. Si el primer paso proporciona suficiente conexión a tierra, el servicio devuelve el resultado. De lo contrario, continúa con la planificación de consultas basada en LLM, hasta un nivel de esfuerzo medio. | Use auto cuando desee que el servicio equilibre la profundidad y la latencia de recuperación para cada solicitud. |
|
Búsqueda iterativa para la recuperación de datos de nivel medio
Un esfuerzo de razonamiento de recuperación medio proporciona una búsqueda iterativa si los resultados iniciales no son lo suficientemente relevantes. Se llama a un modelo de clasificador semántico adicional para determinar si es necesaria una segunda iteración.
Clasificador semántico:
Reconoce cuándo hay suficiente contexto para responder a la pregunta.
Vuelve a intentar en casos de resultados insuficientes, utilizando la información existente como contexto. Las nuevas consultas podrían explorar en profundidad para obtener más detalles centrados o ampliar la búsqueda. El registro de actividad de la respuesta muestra las consultas generadas que se usan para una respuesta más completa.
Vuelve a puntuar mediante la clasificación L3. El rango es idéntico a la clasificación L2, un intervalo absoluto de cero a 4,0.
Solo hay un reintento. Cada iteración agrega latencia y costo, por lo que el sistema restringe el reintento a un paso. Una segunda iteración añade tokens de entrada a la canalización de consulta, lo que incrementa el recuento general de tokens de entrada facturables.
La iteración puede reutilizar los orígenes de conocimiento existentes o elegir orígenes diferentes. El segundo pase selecciona el origen de conocimiento más prometedor para proporcionar la información que falta.
Compatibilidad regional para recuperación media de datos
Puede establecer un esfuerzo de razonamiento de recuperación medio si el servicio de búsqueda está en una de las siguientes regiones:
- Este de EE. UU. 2
- Este de EE. UU.
- Centro-sur de EE. UU.
- Oeste de EE. UU. 3
- Oeste de EE. UU. 2
- Oeste de EE. UU.
- Centro-oeste de Alemania
- Norte de Europa
- Norte de Suiza
- Centro de Suecia
- Centro de España
- Sur de Reino Unido
- Centro de Corea del Sur
- Este de Japón
- Sudeste asiático
Establecer el esfuerzo de razonamiento en una base de conocimiento
Establezca retrievalReasoningEffort en una definición de base de conocimiento para establecer el valor predeterminado para sus consultas. El auto esfuerzo de razonamiento requiere una configuración del modelo. En el ejemplo siguiente, se conserva la configuración existente de models y knowledgeSources, se establece el esfuerzo de razonamiento en auto y se actualiza la base de conocimiento.
using Azure.Identity;
using Azure.Search.Documents.Indexes;
using Azure.Search.Documents.Indexes.Models;
using Azure.Search.Documents.KnowledgeBases.Models;
var endpoint = new Uri("<search-endpoint>");
var credential = new DefaultAzureCredential();
var knowledgeBaseName = "<knowledge-base-name>";
var indexClient = new SearchIndexClient(endpoint, credential);
var knowledgeBase = (
await indexClient.GetKnowledgeBaseAsync(knowledgeBaseName)).Value;
knowledgeBase.RetrievalReasoningEffort =
new KnowledgeRetrievalAutoReasoningEffort();
await indexClient.CreateOrUpdateKnowledgeBaseAsync(knowledgeBase);
Reference:KnowledgeBase
Para usar otro nivel, reemplace por KnowledgeRetrievalAutoReasoningEffortKnowledgeRetrievalMinimalReasoningEffort, KnowledgeRetrievalLowReasoningEfforto KnowledgeRetrievalMediumReasoningEffort.
from azure.identity import DefaultAzureCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.knowledgebases.models import (
KnowledgeRetrievalAutoReasoningEffort,
)
endpoint = "<search-endpoint>"
credential = DefaultAzureCredential()
knowledge_base_name = "<knowledge-base-name>"
index_client = SearchIndexClient(endpoint, credential)
knowledge_base = index_client.get_knowledge_base(knowledge_base_name)
knowledge_base.retrieval_reasoning_effort = (
KnowledgeRetrievalAutoReasoningEffort()
)
index_client.create_or_update_knowledge_base(knowledge_base)
Reference:KnowledgeBase
Para usar otro nivel, reemplace por KnowledgeRetrievalAutoReasoningEffortKnowledgeRetrievalMinimalReasoningEffort, KnowledgeRetrievalLowReasoningEfforto KnowledgeRetrievalMediumReasoningEffort.
@api-version = 2026-08-01-preview
@knowledge-base-url = {{search-endpoint}}/knowledgebases/{{knowledge-base-name}}
PUT {{knowledge-base-url}}?api-version={{api-version}}
Content-Type: application/json
Authorization: Bearer {{search-access-token}}
{
"name": "{{knowledge-base-name}}",
"knowledgeSources": [
{
"name": "{{knowledge-source-name}}"
}
],
"models": [
{
"kind": "azureOpenAI",
"azureOpenAIParameters": {
"resourceUri": "{{aoai-endpoint}}",
"authIdentity": null,
"deploymentId": "{{model-deployment-name}}",
"modelName": "{{model-name}}"
}
}
],
"retrievalReasoningEffort": {
"kind": "auto"
}
}
Reference:Knowledge Bases: Crear o actualizar
Para usar otro nivel, establezca retrievalReasoningEffort.kind en minimal, low o medium.
Configurar el esfuerzo de razonamiento en una solicitud de recuperación
Establezca retrievalReasoningEffort en una solicitud de recuperación para invalidar el valor predeterminado de la base de conocimiento para esa solicitud. En el ejemplo siguiente se envía un mensaje, se usa low para invalidar el auto valor predeterminado de la sección anterior y se habilita la síntesis de respuestas (versión preliminar).
using Azure.Identity;
using Azure.Search.Documents.KnowledgeBases;
using Azure.Search.Documents.KnowledgeBases.Models;
var endpoint = new Uri("<search-endpoint>");
var credential = new DefaultAzureCredential();
var knowledgeBaseName = "<knowledge-base-name>";
var kbClient = new KnowledgeBaseRetrievalClient(
endpoint, knowledgeBaseName, credential);
var request = new KnowledgeBaseRetrievalRequest
{
RetrievalReasoningEffort =
new KnowledgeRetrievalLowReasoningEffort(),
OutputMode = KnowledgeRetrievalOutputMode.AnswerSynthesis
};
request.Messages.Add(
new KnowledgeBaseMessage(
content: new[] {
new KnowledgeBaseMessageTextContent("What is the return policy?")
}
) { Role = "user" }
);
var result = await kbClient.RetrieveAsync(request);
Reference:KnowledgeBaseRetrievalRequest
from azure.identity import DefaultAzureCredential
from azure.search.documents.knowledgebases import KnowledgeBaseRetrievalClient
from azure.search.documents.knowledgebases.models import (
KnowledgeBaseMessage,
KnowledgeBaseMessageTextContent,
KnowledgeBaseRetrievalRequest,
KnowledgeRetrievalOutputMode,
KnowledgeRetrievalLowReasoningEffort,
)
endpoint = "<search-endpoint>"
credential = DefaultAzureCredential()
knowledge_base_name = "<knowledge-base-name>"
kb_client = KnowledgeBaseRetrievalClient(
endpoint,
credential,
knowledge_base_name=knowledge_base_name,
)
request = KnowledgeBaseRetrievalRequest(
messages=[
KnowledgeBaseMessage(
role="user",
content=[
KnowledgeBaseMessageTextContent(
text="What is the return policy?"
)
],
)
],
retrieval_reasoning_effort=KnowledgeRetrievalLowReasoningEffort(),
output_mode=KnowledgeRetrievalOutputMode.ANSWER_SYNTHESIS,
)
result = kb_client.retrieve(request)
Reference:KnowledgeBaseRetrievalRequest
@api-version = 2026-08-01-preview
@retrieve-url = {{search-endpoint}}/knowledgebases/{{knowledge-base-name}}/retrieve
POST {{retrieve-url}}?api-version={{api-version}}
Content-Type: application/json
Authorization: Bearer {{search-access-token}}
{
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "What is the return policy?"
}
]
}
],
"retrievalReasoningEffort": {
"kind": "low"
},
"outputMode": "answerSynthesis"
}
Referencia:Recuperación de Conocimiento - Recuperar
La solicitud de recuperación devuelve una respuesta basada en los orígenes de conocimiento configurados en la base de conocimiento.