Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Note
Recherche Azure AI est disponible via le portail Azure, les API REST et les SDK Azure. Il sous-tend également Foundry IQ, la couche de connaissances managée qui transforme le contenu d’entreprise en bases de connaissances réutilisables et prenant en charge les autorisations pour les agents dans le portail Microsoft Foundry.
Important
Les fonctionnalités, capacités ou propriétés marquées (préversion) ne sont pas couvertes par un accord de niveau de service, ne sont pas recommandées pour les workloads de production et peuvent être modifiées ou faire l’objet de restrictions avant leur mise à disposition générale. Les Recherche Azure AI termes de la préversion s'appliquent à toutes les fonctionnalités d'aperçu, qu'il s'agisse d'une fonctionnalité autonome ou d'une partie d'une fonctionnalité généralement disponible.
Dans la récupération agentique, vous pouvez spécifier le niveau de traitement du modèle de langage volumineux (LLM) pour la planification des requêtes et la formulation de réponses. Utilisez l’effort de raisonnement de récupération (préversion) pour définir les niveaux de traitement LLM qui affectent les coûts et la latence. Le traitement LLM supplémentaire améliore la pertinence, mais il prend également plus de temps et utilise des ressources LLM facturables.
Vous pouvez définir cette propriété dans une base de connaissances ou une demande de récupération. Le paramètre de base de connaissances établit la valeur par défaut pour toutes les requêtes, tandis que le paramètre de requête de récupération remplace la valeur par défaut par requête. Si aucun paramètre n’est présent, le service utilise low.
Assistance à l'utilisation
Conditions préalables
Base de connaissances existante avec au moins une source de connaissances et une configuration de modèle.
Autorisation de mettre à jour et d’interroger des bases de connaissances. Configurez l’authentification sans clé avec les rôles Contributeur du service de recherche et Lecteur de données d’index de recherche affectés à votre compte d’utilisateur (recommandé) ou utilisez une clé API d’administration.
Le dernier paquet
Azure.Search.Documents(préversion) :dotnet add package Azure.Search.Documents --prereleasePour l’authentification sans clé, le
Azure.Identitypackage :dotnet add package Azure.Identity
Le dernier paquet
azure-search-documents(préversion) :pip install --pre azure-search-documentsPour l’authentification sans clé, le
azure-identitypackage :pip install azure-identity
La version 2026-08-01-preview de l’API REST du service de recherche.
Pour l’authentification sans clé, incluez un jeton de Microsoft Entra ID dans l’en-tête
Authorizationde chaque requête HTTP.
Choisir un effort de raisonnement
Choisissez un effort de raisonnement basé sur le compromis souhaité entre la latence, le coût et la profondeur de récupération.
Niveaux d’effort de raisonnement
| Niveau | Description | Recommandation | Limites |
|---|---|---|---|
minimal |
Désactive la planification des requêtes basée sur LLM pour optimiser les coûts et la latence pour la recherche agentique. Il émet des recherches directes de texte et de vecteur sur les sources de connaissances répertoriées dans la base de connaissances et retourne les passages les plus adaptés. Étant donné que toutes les sources de connaissances de la base de connaissances sont toujours recherchées et qu’aucune extension de requête n’est effectuée, le comportement est prévisible et facile à contrôler. Cela signifie également que la alwaysQueryKnowledgeSource propriété sur une demande de récupération est ignorée. |
Utilisez minimal pour les migrations à partir de l’API de recherche ou lorsque vous souhaitez gérer vous-même la planification des requêtes. |
|
low |
Mode par défaut de récupération agentique, en exécutant une seule passe de la planification des requêtes basée sur LLM et de la sélection de la source de connaissances. Le moteur de recherche agentique génère des sous-requêtes qu'il distribue vers les sources de connaissances sélectionnées, puis fusionne les résultats. Vous pouvez activer la synthèse de réponses (préversion) pour générer une réponse en langage naturel fondée sur les sources avec des citations intégrées. | Utilisez low quand vous souhaitez un équilibre entre une latence minimale et un traitement plus approfondi. |
|
medium |
Ajoute une recherche plus approfondie et une pile de récupération améliorée à la récupération agentique pour optimiser l’exhaustivité. Après la première recherche, un classifieur sémantique haute précision évalue les documents récupérés. Si les résultats initiaux ne sont pas suffisamment pertinents, le service effectue une itération de suivi à l’aide d’un plan de requête révisé. | Utilisez medium pour maximiser l’utilité de la recherche de connaissances assistée par LLM. |
|
auto |
Commence par une passe de récupération légère. Si la première étape fournit une base suffisante, le service renvoie le résultat. Sinon, cela continue avec la planification des requêtes fondée sur des LLM, jusqu’à un niveau d’effort moyen. | Utilisez auto quand vous souhaitez que le service équilibre la profondeur et la latence de récupération pour chaque requête. |
|
Recherche itérative pour l'extraction de médias
Un effort moyen de raisonnement pour la récupération permet d'effectuer une recherche itérative lorsque les résultats initiaux ne sont pas suffisamment pertinents. Un modèle de classifieur sémantique supplémentaire est appelé pour déterminer si une deuxième itération est nécessaire.
Classifieur sémantique :
Reconnaît lorsqu’il y a suffisamment de contexte pour répondre à la question.
Nouvelle tentative en cas de résultats insuffisants, tout en utilisant les informations existantes pour le contexte. De nouvelles requêtes peuvent descendre dans la hiérarchie pour obtenir des détails plus ciblés ou élargir la recherche. Le journal d’activité dans la réponse montre les requêtes générées utilisées pour une réponse plus complète.
Rescores à l’aide de la classification L3. La plage est identique au classement L2, une plage absolue de zéro à 4,0.
Il n’y a qu’une seule nouvelle tentative. Chaque itération ajoute la latence et le coût, de sorte que le système limite une nouvelle tentative à une passe. Une deuxième itération ajoute des jetons d’entrée au pipeline de requête, ce qui ajoute au nombre global de jetons d’entrée facturables.
L’itération peut réutiliser des sources de connaissances existantes ou choisir différentes sources. La deuxième passe sélectionne la source de connaissances la plus prometteuse pour fournir les informations manquantes.
Prise en charge régionale pour la récupération des supports
Vous pouvez définir un effort de raisonnement de récupération moyen si votre service de recherche se trouve dans l’une des régions suivantes :
- USA Est 2
- USA Est
- USA Centre Sud
- Ouest des États-Unis 3
- Ouest États-Unis 2
- USA Ouest
- Allemagne Centre-Ouest
- Europe Nord
- Suisse Nord
- Suède Centre
- Espagne Centre
- Royaume-Uni Sud
- Corée Centrale
- Japon Est
- Asie Sud-Est
Définir l’effort de raisonnement dans une base de connaissances
Définissez retrievalReasoningEffort dans une définition de base de connaissances pour établir la valeur par défaut de ses requêtes. L’effort auto de raisonnement nécessite une configuration de modèle. L’exemple suivant préserve la configuration existante knowledgeSources et models, définit l’effort de raisonnement sur auto et met à jour la base de connaissances.
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
Pour utiliser un autre niveau, remplacez KnowledgeRetrievalAutoReasoningEffort par KnowledgeRetrievalMinimalReasoningEffort, KnowledgeRetrievalLowReasoningEffortou 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
Pour utiliser un autre niveau, remplacez KnowledgeRetrievalAutoReasoningEffort par KnowledgeRetrievalMinimalReasoningEffort, KnowledgeRetrievalLowReasoningEffortou 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"
}
}
Référence :Bases de connaissances - Créer ou mettre à jour
Pour utiliser un autre niveau, défini retrievalReasoningEffort.kind sur minimal, lowou medium.
Définir l’effort de raisonnement dans une demande de récupération
Définissez retrievalReasoningEffort dans une demande de récupération pour remplacer la base de connaissances par défaut pour cette demande. L’exemple suivant envoie un message, utilise low pour remplacer la auto valeur par défaut de la section précédente et active la synthèse des réponses (préversion).
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"
}
Référence :Récupération des connaissances - Récupérer
La demande de récupération retourne une réponse basée sur les sources de connaissances configurées dans la base de connaissances.