Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Opmerking
Azure AI Zoeken is beschikbaar via de Azure-portal, REST API's en Azure-SDK's. Het vormt ook een basis voor Foundry IQ, de beheerde kennislaag die bedrijfsinhoud transformeert in herbruikbare, machtigingsbewuste knowledge bases voor agents in de Microsoft Foundry-portal.
Important
Functies, mogelijkheden of eigenschappen die zijn gemarkeerd (preview) vallen niet onder een service level agreement, worden niet aanbevolen voor productieworkloads en kunnen worden gewijzigd of beperkt voordat ze algemeen beschikbaar worden. De Azure AI Zoeken preview-voorwaarden zijn van toepassing op alle preview-functionaliteit, ongeacht of deze zelfstandig is of deel uitmaakt van een algemeen beschikbare functie.
Wanneer u verbinding maakt met Fabric IQ, worden er mogelijk kosten in rekening gebracht en worden gegevens mogelijk buiten de Azure nalevingsgrens verzonden en verwerkt volgens de toepasselijke servicevoorwaarden en het beleid voor gegevensverwerking.
Een Fabric Ontology Knowledge Source (preview) verbindt uw Microsoft Fabric ontology met een agentische ophaalpijplijn in Azure AI Zoeken. Kennisbronnen worden onafhankelijk gemaakt, waarnaar wordt verwezen in een knowledge base en worden gebruikt als grondgegevens wanneer de knowledge base tijdens runtime wordt opgevraagd.
Ontologieën leggen vast hoe uw bedrijf de gegevens, entiteiten en relaties definieert, zodat agents in zakelijke termen kunnen antwoorden in plaats van te redeneren over onbewerkte tabellen en kolommen.
In tegenstelling tot geïndexeerde kennisbronnen raadplegen Fabric Ontology-kennisbronnen livegegevens rechtstreeks tijdens het ophalen. Er is geen opnamepijplijn nodig. Query’s vereisen een toegangstoken van de eindgebruiker, dat de ophaalengine gebruikt om zich namens de aanroeper bij Microsoft Fabric te authenticeren.
Gebruiksondersteuning
| Azure-portal | Microsoft Foundry-portal | .NET SDK | Python SDK | Java SDK | JavaScript SDK | REST API |
|---|---|---|---|---|---|---|
| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Prerequisites
Een Azure AI Zoeken-service in elke regio die op agent gebaseerde gegevensophaling biedt.
Een Microsoft Fabric-werkruimte met de vereiste tenantinstellingen voor ontologie en een ontologie-item.
Uw zoekservice en werkruimte moeten zich in dezelfde Microsoft Entra ID tenant bevinden.
Machtiging voor het maken van kennisbronnen. Configureer sleutelloze verificatie met de rol Inzender voor zoekservice die is toegewezen aan uw gebruikersaccount (aanbevolen) of gebruik een beheer-API-sleutel.
Het nieuwste preview-pakket
Azure.Search.Documents:dotnet add package Azure.Search.Documents --prereleaseVoor sleutelloze verificatie is het
Azure.Identitypakket:dotnet add package Azure.Identity
Het nieuwste preview-pakket
azure-search-documents:pip install --pre azure-search-documentsVoor sleutelloze verificatie is het
azure-identitypakket:pip install azure-identity
De preview-versie 2026-08-01 van de REST API van de Search Service.
Neem voor sleutelloze verificatie een Microsoft Entra ID token op in de
Authorizationheader van elke HTTP-aanvraag.
Gegevensbeheer en naleving
Fabric IQ verwerkt aanvragen binnen de Microsoft Fabric nalevingsgrens voor de regio van uw werkruimte. De volgende toezeggingen zijn van toepassing wanneer u agentquery's routert via Fabric IQ.
Opslaglocatie van gegevens
Fabric IQ haalt gegevens op in de regio waar uw Microsoft Fabric werkruimte zich bevindt en verwerkt. Gegevens overschrijden geen regionale grenzen tijdens het uitvoeren van query's. De toepasselijke regio en het bijbehorende nalevingsbereik worden bepaald door uw werkruimtelocatie. Zie Microsoft Fabric beschikbaarheid van regio's voor de lijst met ondersteunde regio's en de nalevingsframeworks die aan elke regio voldoen.
Opmerking
Als uw Azure AI Zoeken service zich in een andere Azure regio bevindt dan uw Fabric werkruimte, worden queryresultaten geretourneerd in meerdere regio's. Bekijk de beschikbaarheid van Microsoft Fabric regio en de vereisten voor gegevenslocatie van uw organisatie voordat u een Fabric werkruimte in een andere regio verbindt.
Nalevingscertificeringen
Fabric IQ neemt de nalevingscertificeringen van Microsoft Fabric over voor de werkruimteregio. Zie Microsoft Fabric regio-beschikbaarheid voor documentatie over naleving, auditrapporten en frameworks die van toepassing zijn op elke regio.
Controleren op bestaande kennisbronnen
Een kennisbron is een herbruikbaar object op het hoogste niveau. Kennis over bestaande kennisbronnen is handig voor het opnieuw gebruiken of benoemen van nieuwe objecten.
Voer de volgende code uit om kennisbronnen op naam en type weer te geven.
// 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}");
}
Naslaginformatie: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})")
Naslaginformatie:SearchIndexClient
### List knowledge sources by name and type
GET {{search-url}}/knowledgesources?api-version={{api-version}}&$select=name,kind
Authorization: Bearer {{token}}
Naslaginformatie:Kennisbronnen - Lijst
U kunt ook één kennisbron op naam retourneren om de JSON-definitie ervan te controleren.
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));
Naslaginformatie: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))
Naslaginformatie:SearchIndexClient
### Get a knowledge source definition
GET {{search-url}}/knowledgesources/{{knowledge-source-name}}?api-version={{api-version}}
Authorization: Bearer {{token}}
Naslaginformatie:Kennisbronnen ophalen
De volgende JSON is een voorbeeldantwoord voor een Fabric Ontology Knowledge Source.
{
"name": "my-fabric-ontology-ks",
"kind": "fabricOntology",
"description": "A Fabric Ontology knowledge source.",
"encryptionKey": null,
"fabricOntologyParameters": {
"workspaceId": "00000000-0000-0000-0000-000000000000",
"ontologyId": "00000000-0000-0000-0000-000000000001"
}
}
Een kennisbron maken
Voer de volgende code uit om een Fabric Ontology-kennisbron te maken.
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 fabricOntology = new FabricOntologyKnowledgeSource(
"<knowledge-source-name>",
new FabricOntologyKnowledgeSourceParameters("<fabric-workspace-id>", "<fabric-ontology-id>"))
{
Description = "A Fabric Ontology knowledge source."
};
await indexClient.CreateOrUpdateKnowledgeSourceAsync(fabricOntology);
Naslaginformatie:SearchIndexClient
from azure.identity import DefaultAzureCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import (
FabricOntologyKnowledgeSource,
FabricOntologyKnowledgeSourceParameters,
)
index_client = SearchIndexClient(
endpoint="<search-endpoint>",
credential=DefaultAzureCredential()
)
knowledge_source = FabricOntologyKnowledgeSource(
name="<knowledge-source-name>",
description="A Fabric Ontology knowledge source.",
fabric_ontology_parameters=FabricOntologyKnowledgeSourceParameters(
workspace_id="<fabric-workspace-id>",
ontology_id="<fabric-ontology-id>"
)
)
index_client.create_or_update_knowledge_source(knowledge_source)
Naslaginformatie:SearchIndexClient
### Create a Fabric Ontology knowledge source
PUT {{search-endpoint}}/knowledgesources/my-fabric-ontology-ks?api-version=2026-08-01-preview
Authorization: Bearer {{search-access-token}}
Content-Type: application/json
{
"name": "my-fabric-ontology-ks",
"kind": "fabricOntology",
"description": "A Fabric Ontology knowledge source.",
"fabricOntologyParameters": {
"workspaceId": "{fabric-workspace-id}",
"ontologyId": "{fabric-ontology-id}"
}
}
Naslaginformatie:Kennisbronnen - Maken of bijwerken
Toewijzen aan een kennisbank
Als u tevreden bent met de kennisbron, voegt u deze toe aan een knowledge base.
Opmerking
Fabric Ontology-kennisbronnen ondersteunen de minimalinspanning voor redeneren bij informatieophaling niet. Gebruik low of medium in plaats daarvan.
Een query uitvoeren op een Knowledge Base
Nadat de kennisbank is geconfigureerd, roept u de retrieve-actie of het MCP-eindpunt aan om de inhoud van Fabric Ontology te bevragen. Deze kennisbron heeft een unieke afdwinging van machtigingen tijdens query's en unieke antwoordkenmerken.
Machtigingen afdwingen tijdens het uitvoeren van query's
Fabric Ontology-kennisbronnen gebruiken een on-behalf-of-tokenstroom (OBO). U geeft het toegangstoken voor eindgebruikers door in de x-ms-query-source-authorization header van de aanvraag voor ophalen. Het token moet worden afgestemd op de Azure AI Zoeken doelgroep (https://search.azure.com/.default). De ophaalengine ruilt dit token in voor een voor Microsoft Fabric bedoeld token en gebruikt dit om namens de eindgebruiker een query op het ontologie-item uit te voeren.
Standaardverificatie Azure AI Zoeken is ook vereist voor de aanvraag voor ophalen. Het x-ms-query-source-authorization token wordt afzonderlijk doorgegeven en vervangt geen serviceverificatie.
Zie Machtigingen afdwingen tijdens het uitvoeren van query's (preview) voor instructies over het doorgeven van het token.
Fabric Ontology-specifieke antwoordvelden
Fabric Ontology-kennisbronnen geven resultaten terug in het object sourceData van elke references-vermelding en querydiagnostiek in de array activity.
sourceData Bevat:
-
fabricAnswer: Het antwoord van de ontologie in natuurlijke taal. -
fabricRawData: De gestructureerde gegevens waarop het antwoord is gebaseerd, worden geretourneerd in CSV-indeling.
In het volgende voorbeeld wordt een ophaalantwoord weergegeven dat een Fabric Ontology-kennisbronverwijzing en de bijbehorende activiteitsrecord bevat. Zie Het antwoord controleren voor bredere richtlijnen voor het interpreteren van antwoorden.
Tip
Om sourceData voor referenties te ontvangen, stelt u includeReferenceSourceData in op true bij het item van de kennisbron in knowledgeSourceParams van het ophaalverzoek.
{
"response": [
// ... Response omitted for brevity
],
"activity": [
{
"type": "fabricOntology",
"id": 1,
"knowledgeSourceName": "my-fabric-ontology-ks",
"queryTime": "2026-05-11T20:29:24Z",
"count": 1,
"fabricOntologyArguments": {
"search": "Which airlines operate domestic routes?"
}
},
{
// ... Additional activity records omitted for brevity
}
],
"references": [
{
"type": "fabricOntology",
"id": "0",
"activitySource": 1,
"sourceData": {
"fabricAnswer": "There are 3 airlines with domestic routes: Delta, United, and American.",
"fabricRawData": "Airline,Routes\nDelta,47\nUnited,38\nAmerican,29"
},
"rerankerScore": 0,
"workspaceId": "00000000-0000-0000-0000-000000000000",
"ontologyId": "00000000-0000-0000-0000-000000000001"
},
{
// ... Additional references omitted for brevity
}
]
}
Een kennisbron verwijderen
Voordat u een kennisbron kunt verwijderen, moet u een knowledge base verwijderen die ernaar verwijst of de knowledge base-definitie bijwerken om de verwijzing te verwijderen. Voor kennisbronnen die een index- en indexeerpijplijn genereren, worden ook alle gegenereerde objecten verwijderd. Als u echter een bestaande index hebt gebruikt om een kennisbron te maken, wordt uw index niet verwijderd.
Als u probeert een kennisbron te verwijderen die in gebruik is, mislukt de actie en wordt een lijst met betrokken knowledge bases geretourneerd.
Een kennisbron verwijderen:
Haal een lijst op met alle knowledge bases op uw zoekservice.
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}"); }Naslaginformatie:SearchIndexClient
Een voorbeeld van een antwoord kan er als volgt uitzien:
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Haal een afzonderlijke Knowledge Base-definitie op om te controleren op verwijzingen naar kennisbronnen.
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);Naslaginformatie:SearchIndexClient
Een voorbeeld van een antwoord kan er als volgt uitzien:
{ "Name": "earth-knowledge-base", "KnowledgeSources": [ { "Name": "earth-knowledge-source" } ], "Models": [ {} ], "RetrievalReasoningEffort": {}, "OutputMode": {}, "ETag": "\u00220x8DE278629D782B3\u0022", "EncryptionKey": null, "Description": null, "RetrievalInstructions": null, "AnswerInstructions": null }Verwijder de knowledge base of werk de knowledge base bij als u meerdere kennisbronnen hebt om de bron te verwijderen. In dit voorbeeld ziet u de verwijdering.
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.");Naslaginformatie:SearchIndexClient
Verwijder de kennisbron.
await indexClient.DeleteKnowledgeSourceAsync(knowledgeSourceName); System.Console.WriteLine($"Knowledge source '{knowledgeSourceName}' deleted successfully.");Naslaginformatie:SearchIndexClient
Haal een lijst op met alle knowledge bases op uw zoekservice.
# 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}")Naslaginformatie:SearchIndexClient
Een voorbeeld van een antwoord kan er als volgt uitzien:
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Haal een afzonderlijke Knowledge Base-definitie op om te controleren op verwijzingen naar kennisbronnen.
# 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)Naslaginformatie:SearchIndexClient
Een voorbeeld van een antwoord kan er als volgt uitzien:
{ "name": "my-kb", "description": null, "retrievalInstructions": null, "answerInstructions": null, "outputMode": null, "knowledgeSources": [ { "name": "my-blob-ks" } ], "models": [], "encryptionKey": null, "retrievalReasoningEffort": { "kind": "low" } }Verwijder de knowledge base of werk de knowledge base bij als u meerdere kennisbronnen hebt om de bron te verwijderen. In dit voorbeeld ziet u de verwijdering.
# 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.")Naslaginformatie:SearchIndexClient
Verwijder de kennisbron.
# 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.")Naslaginformatie:SearchIndexClient
Haal een lijst op met alle knowledge bases op uw zoekservice.
### Get knowledge bases GET {{search-url}}/knowledgebases?api-version={{api-version}}&$select=name Authorization: Bearer {{token}}Naslaginformatie:Knowledge Bases - Lijst
Een voorbeeld van een antwoord kan er als volgt uitzien:
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }Haal een afzonderlijke Knowledge Base-definitie op om te controleren op verwijzingen naar kennisbronnen.
### Get a knowledge base definition GET {{search-url}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}} Authorization: Bearer {{token}}Naslaginformatie:Kennisbanken - Verkrijgen
Een voorbeeld van een antwoord kan er als volgt uitzien:
{ "name": "my-kb", "description": null, "retrievalInstructions": null, "answerInstructions": null, "outputMode": null, "knowledgeSources": [ { "name": "my-blob-ks" } ], "models": [], "encryptionKey": null, "retrievalReasoningEffort": { "kind": "low" } }Verwijder de knowledge base of werk de knowledge base bij als u meerdere kennisbronnen hebt om de bron te verwijderen. In dit voorbeeld ziet u de verwijdering.
### Delete a knowledge base DELETE {{search-url}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}} Authorization: Bearer {{token}}Naslaginformatie:Knowledge Bases - Verwijderen
Verwijder de kennisbron.
### Delete a knowledge source DELETE {{search-url}}/knowledgesources/{{knowledge-source-name}}?api-version={{api-version}} Authorization: Bearer {{token}}Naslaginformatie:Kennisbronnen - Verwijderen