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
Ces fonctionnalités font partie de l’API REST 2026-08-01-preview. La préversion 2026-08-01 vous est concédée sous licence dans le cadre de votre abonnement Azure et est soumise aux conditions applicables aux « préversions » dans les Microsoft Conditions d’utilisation du produit, l’addenda sur la protection des données des produits et des services Microsoft (« DPA ») et les conditions d’utilisation supplémentaires pour les préversions Microsoft Azure.
La préversion 2026-08-01 prend en charge les connexions à d’autres services Microsoft et à des services tiers. L’utilisation de ces services est soumise à leurs conditions respectives et peut entraîner le traitement ou le stockage des données en dehors de la limite de conformité Azure, ainsi que des données entrant dans la limite de conformité Azure.
Lorsque vous vous connectez à Fabric IQ, vous risquez d’entraîner des coûts, et les données peuvent être envoyées en dehors de la limite de conformité Azure et traitées en fonction des conditions de service et des stratégies de gestion des données applicables. Il est de votre responsabilité de gérer si vos données circulent en dehors des limites géographiques et de conformité de votre organisation, ainsi que des implications connexes, et que les autorisations, les limites et les approbations appropriées sont provisionnés.
Vous êtes responsable de l’examen et du test des applications que vous créez dans le contexte de vos cas d’usage spécifiques et de prendre toutes les décisions et personnalisations appropriées. Cela inclut l’implémentation de vos propres atténuations d’IA responsables, telles que les métaprompts, les filtres de contenu ou d’autres systèmes de sécurité, et la garantie que vos applications répondent aux normes de qualité, de fiabilité, de sécurité et de fiabilité appropriées. Pour plus d’informations, consultez la note de transparence Recherche Azure AI.
Une source de connaissances Fabric Data Agent (version préliminaire) connecte votre Microsoft Fabric Data Agent à un pipeline de récupération piloté par des agents dans Recherche Azure AI. Les sources de connaissances sont créées indépendamment, référencées dans une base de connaissances et utilisées comme données de base lorsque la base de connaissances est interrogée lors de l’exécution.
L’agent de données agit en tant qu’analyste virtuel, générant et exécutant des requêtes sur vos données Microsoft Fabric pour retourner des réponses, des tableaux et des graphiques en langage naturel. Cela rend les sources de connaissances de Fabric Data Agent utiles pour les données à fort renouvellement et les requêtes analytiques.
Contrairement aux sources de connaissances indexées, les sources de connaissances de Fabric Data Agent interrogent directement les données en direct lors de la récupération. Aucun pipeline d’ingestion n’est nécessaire. Les requêtes nécessitent un jeton d’accès de l’utilisateur final, que le moteur de récupération utilise pour interroger l’agent de données Fabric pour le compte de l’utilisateur final.
Assistance à l'utilisation
| portail Azure | portail Microsoft Foundry | Kit de développement logiciel (SDK) .NET | Kit de développement logiciel (SDK) Python | SDK Java | SDK JavaScript | REST API |
|---|---|---|---|---|---|---|
| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Prerequisites
Un service Recherche Azure AI dans n’importe quelle région qui fournit une recherche agentique.
Un espace de travail Microsoft Fabric avec un agent data.
Votre service de recherche et votre espace de travail doivent se trouver dans le même locataire Microsoft Entra ID.
Autorisation de créer des sources de connaissances. Configurez l’authentification sans clé avec le rôle Contributeur de service de recherche affecté à 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.
Gouvernance et conformité des données
Fabric IQ traite les demandes dans la limite de conformité Microsoft Fabric pour la région de votre espace de travail. Les engagements suivants s’appliquent lorsque vous routez des requêtes d’agent via Fabric IQ.
Résidence des données
Fabric IQ récupère et traite les données dans la région où réside votre espace de travail Microsoft Fabric. Les données ne dépassent pas les limites régionales pendant l’exécution de la requête. La région applicable et son étendue de conformité sont déterminées par votre emplacement d’espace de travail. Pour obtenir la liste des régions prises en charge et des cadres de conformité auxquels chaque région est conforme, consultez Disponibilité des régions Microsoft Fabric.
Note
Si votre service Recherche Azure AI se trouve dans une autre région Azure que votre espace de travail Fabric, les résultats des requêtes sont retournés entre régions. Consultez la disponibilité régionale de Microsoft Fabric ainsi que les exigences de résidence des données de votre organisation avant de connecter un espace de travail Fabric situé dans une autre région.
Certifications de conformité
Fabric IQ hérite des certifications de conformité de Microsoft Fabric pour la région de l'espace de travail. Pour obtenir la documentation de conformité, les rapports d’audit et les frameworks applicables à chaque région, consultez Microsoft Fabric disponibilité de la région.
Rechercher les sources de connaissances existantes
Une source de connaissances est un objet réutilisable de niveau supérieur. Connaître les sources de connaissances existantes est utile pour réutiliser ou nommer de nouveaux objets.
Exécutez le code suivant pour répertorier les sources de connaissances par nom et par type.
// 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}");
}
Reference :SearchIndexClient
# List knowledge sources by name and type
from azure.core.credentials import AzureKeyCredential
from azure.search.documents.indexes import SearchIndexClient
index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key"))
for ks in index_client.list_knowledge_sources():
print(f" - {ks.name} ({ks.kind})")
Reference :SearchIndexClient
### List knowledge sources by name and type
GET {{search-url}}/knowledgesources?api-version={{api-version}}&$select=name,kind
Authorization: Bearer {{token}}
Référence :Sources de connaissances - Liste
Vous pouvez également retourner une source de connaissances unique par nom pour passer en revue sa définition 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));
Reference :SearchIndexClient
# Get a knowledge source 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"))
ks = index_client.get_knowledge_source("knowledge_source_name")
print(json.dumps(ks.as_dict(), indent = 2))
Reference :SearchIndexClient
### Get a knowledge source definition
GET {{search-url}}/knowledgesources/{{knowledge-source-name}}?api-version={{api-version}}
Authorization: Bearer {{token}}
Référence :Sources de connaissances - Obtenir
Le code JSON suivant est un exemple de réponse pour une source de connaissances Fabric Data Agent.
{
"name": "my-fabric-data-agent-ks",
"kind": "fabricDataAgent",
"description": "A Fabric Data Agent knowledge source.",
"encryptionKey": null,
"fabricDataAgentParameters": {
"workspaceId": "00000000-0000-0000-0000-000000000000",
"dataAgentId": "00000000-0000-0000-0000-000000000001"
}
}
Créer une source de connaissances
Exécutez le code suivant pour créer une source de connaissances Fabric Data Agent.
using Azure.Identity;
using Azure.Search.Documents.Indexes;
using Azure.Search.Documents.Indexes.Models;
Uri searchEndpoint = new Uri("<search-endpoint>");
DefaultAzureCredential credential = new DefaultAzureCredential();
var indexClient = new SearchIndexClient(searchEndpoint, credential);
var fabricDataAgent = new FabricDataAgentKnowledgeSource(
"<knowledge-source-name>",
new FabricDataAgentKnowledgeSourceParameters("<fabric-workspace-id>", "<fabric-data-agent-id>"))
{
Description = "A Fabric Data Agent knowledge source."
};
await indexClient.CreateOrUpdateKnowledgeSourceAsync(fabricDataAgent);
Reference :SearchIndexClient
from azure.identity import DefaultAzureCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import (
FabricDataAgentKnowledgeSource,
FabricDataAgentKnowledgeSourceParameters,
)
index_client = SearchIndexClient(
endpoint="<search-endpoint>",
credential=DefaultAzureCredential()
)
knowledge_source = FabricDataAgentKnowledgeSource(
name="<knowledge-source-name>",
description="A Fabric Data Agent knowledge source.",
fabric_data_agent_parameters=FabricDataAgentKnowledgeSourceParameters(
workspace_id="<fabric-workspace-id>",
data_agent_id="<fabric-data-agent-id>"
)
)
index_client.create_or_update_knowledge_source(knowledge_source)
Reference :SearchIndexClient
### Create a Fabric Data Agent knowledge source
PUT {{search-endpoint}}/knowledgesources/my-fabric-data-agent-ks?api-version=2026-08-01-preview
Authorization: Bearer {{search-access-token}}
Content-Type: application/json
{
"name": "my-fabric-data-agent-ks",
"kind": "fabricDataAgent",
"description": "A Fabric Data Agent knowledge source.",
"fabricDataAgentParameters": {
"workspaceId": "{fabric-workspace-id}",
"dataAgentId": "{fabric-data-agent-id}"
}
}
Référence :Sources de connaissances - Créer ou mettre à jour
Attribuer à une base de connaissances
Si vous êtes satisfait de la source de connaissances, ajoutez-la à une base de connaissances.
Important
Les sources de connaissances de l’agent de données Fabric ne prennent pas en charge la capacité de raisonnement de minimalrécupération. Utilisez plutôt low ou medium.
Interroger une base de connaissances
Une fois la base de connaissances configurée, appelez l’action de récupération ou le point de terminaison MCP pour interroger le contenu de Fabric Data Agent. Cette source de connaissances présente une application des autorisations lors de l’exécution de la requête et des caractéristiques de réponse uniques.
Appliquer des autorisations au moment de la requête
Les sources de connaissances de l’Agent de données Fabric utilisent un flux de jeton OBO (on-behalf-of). Vous transmettez le jeton d’accès de l’utilisateur final dans l’en-tête x-ms-query-source-authorization de la requête de récupération. Le jeton doit être limité à l’audience Recherche Azure AI (https://search.azure.com/.default). Le moteur de récupération échange ce jeton contre un jeton limité à Microsoft Fabric et l’utilise pour interroger l’Agent de données Fabric pour le compte de l’utilisateur final.
L’authentification Recherche Azure AI standard est également requise sur la demande de récupération. Le x-ms-query-source-authorization jeton est passé séparément et ne remplace pas l’authentification du service.
Pour obtenir des instructions sur la transmission du jeton, consultez Appliquer les autorisations lors de la requête (préversion).
Champs de réponse spécifiques à l’Agent de données Fabric
Les sources de connaissances Fabric Data Agent renvoient des résultats dans l’objet sourceData de chaque entrée references et les diagnostics de requête dans le tableau activity.
sourceData Contient:
-
fabricAnswer: réponse en langage naturel de l’agent de données. -
fabricEmbeddedResources: toutes les ressources incorporées, telles que les tables et les graphiques, lorsque la requête produit une sortie structurée.
L’exemple suivant montre une réponse de récupération contenant une référence de source de connaissances de l’Agent de données Fabric et son enregistrement d’activité correspondant. Pour obtenir des conseils plus larges sur l’interprétation des réponses de récupération, consultez Examiner la réponse.
Conseil / Astuce
Pour recevoir sourceData pour les références, définissez includeReferenceSourceData sur true dans l’entrée de source de connaissances de knowledgeSourceParams de la requête de récupération.
{
"response": [
// ... Response omitted for brevity
],
"activity": [
{
"type": "fabricDataAgent",
"id": 1,
"knowledgeSourceName": "my-fabric-data-agent-ks",
"queryTime": "2026-05-11T19:37:11.600Z",
"count": 1,
"fabricDataAgentArguments": {
"search": "my query"
}
},
{
// ... Additional activity records omitted for brevity
}
],
"references": [
{
"type": "fabricDataAgent",
"id": "0",
"activitySource": 1,
"rerankerScore": 2.57,
"workspaceId": "00000000-0000-0000-0000-000000000000",
"dataAgentId": "00000000-0000-0000-0000-000000000001",
"sourceData": {
"fabricAnswer": "There were 47 airline delays in Q1 2026. The majority occurred on transcontinental routes.",
"fabricEmbeddedResources": [
{
"title": "Q1 2026 Airline Operations Report",
"mimeType": "text/csv",
"content": "Route | Delays | Avg. Delay (min)\n--- | --- | ---\nJFK–LAX | 18 | 42\nORD–MIA | 12 | 31"
}
]
}
},
{
// ... Additional references omitted for brevity
}
]
}
Supprimer une source de connaissances
Avant de pouvoir supprimer une source de connaissances, vous devez supprimer toute base de connaissances qui la référence ou mettre à jour la définition de la base de connaissances pour supprimer la référence. Pour les sources de connaissances qui génèrent un pipeline d’index et d’indexeur, tous les objets générés sont également supprimés . Toutefois, si vous avez utilisé un index existant pour créer une source de connaissances, votre index n’est pas supprimé.
Si vous essayez de supprimer une source de connaissances en cours d’utilisation, l’action échoue et retourne une liste de bases de connaissances affectées.
Pour supprimer une source de connaissances :
Obtenez la liste de toutes les bases de connaissances sur votre service de recherche.
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
Un exemple de réponse peut ressembler à ce qui suit :
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Obtenez une définition de base de connaissances individuelle pour rechercher des références à la source de connaissances.
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
Un exemple de réponse peut ressembler à ce qui suit :
{ "Name": "earth-knowledge-base", "KnowledgeSources": [ { "Name": "earth-knowledge-source" } ], "Models": [ {} ], "RetrievalReasoningEffort": {}, "OutputMode": {}, "ETag": "\u00220x8DE278629D782B3\u0022", "EncryptionKey": null, "Description": null, "RetrievalInstructions": null, "AnswerInstructions": null }Supprimez la base de connaissances ou, si vous avez plusieurs sources de connaissances, mettez à jour la base de connaissances pour supprimer la source. Cet exemple montre la suppression.
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
Supprimez la source de connaissances.
await indexClient.DeleteKnowledgeSourceAsync(knowledgeSourceName); System.Console.WriteLine($"Knowledge source '{knowledgeSourceName}' deleted successfully.");Reference :SearchIndexClient
Obtenez la liste de toutes les bases de connaissances sur votre service de recherche.
# Get knowledge bases from azure.core.credentials import AzureKeyCredential from azure.search.documents.indexes import SearchIndexClient index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key")) print("Knowledge Bases:") for kb in index_client.list_knowledge_bases(): print(f" - {kb.name}")Reference :SearchIndexClient
Un exemple de réponse peut ressembler à ce qui suit :
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Obtenez une définition de base de connaissances individuelle pour rechercher des références à la source de connaissances.
# Get a knowledge base definition from azure.core.credentials import AzureKeyCredential from azure.search.documents.indexes import SearchIndexClient index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key")) kb = index_client.get_knowledge_base("knowledge_base_name") print(kb)Reference :SearchIndexClient
Un exemple de réponse peut ressembler à ce qui suit :
{ "name": "my-kb", "description": null, "retrievalInstructions": null, "answerInstructions": null, "outputMode": null, "knowledgeSources": [ { "name": "my-blob-ks" } ], "models": [], "encryptionKey": null, "retrievalReasoningEffort": { "kind": "low" } }Supprimez la base de connaissances ou, si vous avez plusieurs sources de connaissances, mettez à jour la base de connaissances pour supprimer la source. Cet exemple montre la suppression.
# 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
Supprimez la source de connaissances.
# 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.")Reference :SearchIndexClient
Obtenez la liste de toutes les bases de connaissances sur votre service de recherche.
### Get knowledge bases GET {{search-url}}/knowledgebases?api-version={{api-version}}&$select=name Authorization: Bearer {{token}}Référence :Bases de connaissances - Liste
Un exemple de réponse peut ressembler à ce qui suit :
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Obtenez une définition de base de connaissances individuelle pour rechercher des références à la source de connaissances.
### Get a knowledge base definition GET {{search-url}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}} Authorization: Bearer {{token}}Référence :Bases de connaissances - Obtenir
Un exemple de réponse peut ressembler à ce qui suit :
{ "name": "my-kb", "description": null, "retrievalInstructions": null, "answerInstructions": null, "outputMode": null, "knowledgeSources": [ { "name": "my-blob-ks" } ], "models": [], "encryptionKey": null, "retrievalReasoningEffort": { "kind": "low" } }Supprimez la base de connaissances ou, si vous avez plusieurs sources de connaissances, mettez à jour la base de connaissances pour supprimer la source. Cet exemple montre la suppression.
### Delete a knowledge base DELETE {{search-url}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}} Authorization: Bearer {{token}}Référence :Bases de connaissances - Supprimer
Supprimez la source de connaissances.
### Delete a knowledge source DELETE {{search-url}}/knowledgesources/{{knowledge-source-name}}?api-version={{api-version}} Authorization: Bearer {{token}}Référence :Sources de connaissances - Supprimer