Fabric Ontology-tudásbázis létrehozása (előzetes verzió)

Megjegyzés:

Azure AI Keresés a Azure portálon, REST API-kon és Azure SDK-k keresztül érhető el. Emellett a Foundry IQ-t is támogatja, amely a vállalati tartalmakat újrafelhasználható, engedélytudatos tudásbázisokká alakítja át az Microsoft Foundry portálon található ügynökök számára.

Important

Az (előzetes verzióban) megjelölt funkciókra, képességekre vagy tulajdonságokra nem vonatkozik szolgáltatási szintű szerződés, nem ajánlott éles számítási feladatokhoz, és az általános elérhetővé válásuk előtt változhatnak vagy korlátozhatók. Az Azure AI Keresés előzetes verziójú kifejezések az összes előzetes verziós funkcióra vonatkoznak, függetlenül attól, hogy önálló vagy egy általánosan elérhető funkció része.

Ha Fabric IQ-hoz csatlakozik, költségek merülhetnek fel, és előfordulhat, hogy az adatok a Azure megfelelőségi határain kívül kerülnek elküldésre, és a vonatkozó szolgáltatási feltételek és adatkezelési szabályzatok szerint lesznek feldolgozva.

Egy Fabric ontológiai tudásforrás (előzetes verzió) összeköti a Microsoft Fabric-ontológiáját az Azure AI Keresés ügynökalapú visszakeresési folyamatával. A tudásbázisok egymástól függetlenül jönnek létre, egy tudásbázisban hivatkoznak rá, és földi adatként használják, amikor a tudásbázist futtatókörnyezetben kérdezik le.

Az ontológiák rögzítik, hogy az Ön üzlete hogyan határozza meg adatait, entitásait és kapcsolatait, lehetővé téve, hogy az ágensek üzleti fogalmak mentén válaszoljanak, ahelyett hogy nyers táblákból és oszlopokból következtetnének.

Az indexelt tudásbázisokkal ellentétben Fabric ontológiai tudásbázisok közvetlenül lekéréskor kérdezik le az élő adatokat. Nincs szükség adatbeviteli folyamatra. A lekérdezésekhez végfelhasználói hozzáférési jogkivonat szükséges, amelyet a lekérési motor a hívó nevében Microsoft Fabric hitelesítéshez használ.

Használat támogatása

Azure Portál Microsoft Foundry portál .NET SDK Python SDK Java SDK JavaScript SDK REST API
✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️

Prerequisites

  • A legújabb Azure.Search.Documents előzetes csomag: dotnet add package Azure.Search.Documents --prerelease

  • Kulcs nélküli hitelesítés esetén a Azure.Identity csomag: dotnet add package Azure.Identity

  • A legújabb azure-search-documents előzetes csomag: pip install --pre azure-search-documents

  • Kulcs nélküli hitelesítés esetén a azure-identity csomag: pip install azure-identity

  • A Search Service REST API 2026-08-01 előzetes verziója .

  • Kulcs nélküli hitelesítéshez minden HTTP-kérés fejlécében adjon meg egy Authorization.

Adatszabályozás és megfelelőség

Fabric IQ a munkaterület régiójának Microsoft Fabric megfelelőségi határán belül dolgozza fel a kéréseket. Az ügynöklekérdezések Fabric IQ-n keresztüli átirányításakor az alábbi kötelezettségvállalások érvényesek.

Adattárolási hely

Fabric IQ lekéri és feldolgozza az adatokat azon a régión belül, ahol a Microsoft Fabric munkaterület található. Az adatok nem lépik át a regionális határokat a lekérdezés végrehajtása során. Az alkalmazandó régiót és annak megfelelőségi hatókörét a munkaterület helye határozza meg. A támogatott régiók listájáért és az egyes régiók megfelelőségi keretrendszereiért lásd Microsoft Fabric régió rendelkezésre állását.

Megjegyzés:

Ha a Azure AI Keresés szolgáltatás más Azure régióban található, mint a Fabric-munkaterület, a rendszer régiók közötti lekérdezési eredményeket ad vissza. Tekintse át Microsoft Fabric régió rendelkezésre állását és a szervezet adattárolási követelményeit egy másik régióban lévő Fabric munkaterület csatlakoztatása előtt.

Megfelelőségi tanúsítványok

A Fabric IQ örökli a Microsoft Fabric munkaterület régiójára vonatkozó megfelelőségi minősítéseit. A megfelelőségi dokumentációt, a naplózási jelentéseket és az egyes régiókra vonatkozó keretrendszereket lásd: Microsoft Fabric régió rendelkezésre állása.

Meglévő tudásbázisok keresése

A tudásbázis egy legfelső szintű, újrafelhasználható objektum. A meglévő tudásbázisok ismerete hasznos lehet az új objektumok újbóli felhasználásához vagy elnevezéséhez.

Futtassa az alábbi kódot a tudásbázisok név és típus szerinti listázásához.

// 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}");
}

Referencia: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})")

Referencia:SearchIndexClient

### List knowledge sources by name and type
GET {{search-url}}/knowledgesources?api-version={{api-version}}&$select=name,kind
Authorization: Bearer {{token}}

Referencia:Tudásbázisok – Lista

A JSON-definíció áttekintéséhez lekérdezhet egyetlen tudásforrást a név megadásával.

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));

Referencia: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))

Referencia:SearchIndexClient

### Get a knowledge source definition
GET {{search-url}}/knowledgesources/{{knowledge-source-name}}?api-version={{api-version}}
Authorization: Bearer {{token}}

Referencia:Tudásforrások – Get

Az alábbi JSON egy példaválasz egy Fabric ontológiai tudásbázishoz.

{
  "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"
  }
}

Tudásbázis létrehozása

Futtassa a következő kódot egy Fabric Ontology-tudásbázis létrehozásához.

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);

Referencia: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)

Referencia: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}"
  }
}

Referencia:Tudásforrások – Létrehozás vagy frissítés

Hozzárendelés tudásbázishoz

Ha elégedett a tudásbázissal, adja hozzá egy tudásbázishoz.

Megjegyzés:

A Fabric ontológiai tudásforrásai nem támogatják a minimallekérési következtetési folyamatot. Használja inkább a low vagy medium elemet.

Tudásbázis lekérdezése

A tudásbázis konfigurálása után hívja meg a lekérési műveletet vagy az MCP-végpontot a Fabric Ontology tartalmának lekérdezéséhez. Ez a tudásbázis egyedi lekérdezési idejű engedélyérvényesítési és válaszjellemzőkkel rendelkezik.

Engedélyek kényszerítése lekérdezéskor

A Fabric Ontology tudásforrásai meghatalmazotti (OBO) tokenfolyamatot használnak. A lekérési kérelem fejlécében adja át a x-ms-query-source-authorization végfelhasználói hozzáférési jogkivonatot. A token hatókörét az Azure AI Keresés célközönségére kell korlátozni (https://search.azure.com/.default). A lekérési motor ezt a jogkivonatot egy Microsoft Fabric hatókörű jogkivonatra cseréli, és az ontológiai elem lekérdezésére használja a végfelhasználó nevében.

A lekérési kérelemhez standard Azure AI Keresés hitelesítésre is szükség van. A x-ms-query-source-authorization tokent külön adják át, és az nem helyettesíti a szolgáltatás hitelesítését.

A token átadásával kapcsolatos utasításokért lásd: Engedélyek kikényszerítése lekérdezéskor (előzetes verzió).

Fabric ontológia-specifikus válaszmezők

Fabric ontológiai tudásforrások a sourceData tömbben lévő references bejegyzés és lekérdezés diagnosztikáinak activity objektumában adnak vissza eredményeket. sourceData Tartalmaz:

  • fabricAnswer: Az ontológia természetes nyelvi válasza.
  • fabricRawData: A választ megalapozó strukturált adatok, CSV formátumban visszaadva.

Az alábbi példa egy Fabric Ontology-tudásbázishivatkozást és annak megfelelő tevékenységrekordját tartalmazó lekérési választ mutat be. A lekérési válaszok értelmezésére vonatkozó részletesebb útmutatásért lásd: A válasz áttekintése.

Tip

Ha hivatkozásokhoz sourceData szeretne kapni, a lekérési kérésben a includeReferenceSourceData alatti tudásforrás-bejegyzésben állítsa a true értékét knowledgeSourceParams értékre.

{
  "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
    }
  ]
}

Tudásbázis törlése

Mielőtt törölhet egy tudásbázist, törölnie kell minden olyan tudásbázist, amely hivatkozik rá, vagy frissítenie kell a tudásbázis definícióját a hivatkozás eltávolításához. Az index- és indexelőfolyamatot létrehozó tudásbázisok esetében a rendszer az összes létrehozott objektumot is törli. Ha azonban egy meglévő indexet használt egy tudásbázis létrehozásához, az index nem törlődik.

Ha egy használatban lévő tudásbázist próbál törölni, a művelet meghiúsul, és visszaadja az érintett tudásbázisok listáját.

Tudásbázis törlése:

  1. Szerezze be a keresési szolgáltatás összes tudásbázisának listáját.

    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}");
    }
    

    Referencia:SearchIndexClient

    Egy példaválasz az alábbihoz hasonlóan nézhet ki:

     {
         "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)",
         "value": [
         {
             "name": "my-kb"
         },
         {
             "name": "my-kb-2"
         }
         ]
     }
    
  2. Szerezze be az egyéni tudásbázisdefiníciót a tudásbázishivatkozások kereséséhez.

    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);
    

    Referencia:SearchIndexClient

    Egy példaválasz az alábbihoz hasonlóan nézhet ki:

     {
       "Name": "earth-knowledge-base",
       "KnowledgeSources": [
         {
           "Name": "earth-knowledge-source"
         }
       ],
       "Models": [
         {}
       ],
       "RetrievalReasoningEffort": {},
       "OutputMode": {},
       "ETag": "\u00220x8DE278629D782B3\u0022",
       "EncryptionKey": null,
       "Description": null,
       "RetrievalInstructions": null,
       "AnswerInstructions": null
     }
    
  3. Törölje a tudásbázist, vagy ha több tudásbázist használ, frissítse a tudásbázist a forrás eltávolításához. Ez a példa a törlést mutatja be.

    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.");
    

    Referencia:SearchIndexClient

  4. Törölje a tudásbázist.

    await indexClient.DeleteKnowledgeSourceAsync(knowledgeSourceName);
    System.Console.WriteLine($"Knowledge source '{knowledgeSourceName}' deleted successfully.");
    

    Referencia:SearchIndexClient

  1. Szerezze be a keresési szolgáltatás összes tudásbázisának listáját.

    # 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}")
    

    Referencia:SearchIndexClient

    Egy példaválasz az alábbihoz hasonlóan nézhet ki:

     {
         "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)",
         "value": [
         {
             "name": "my-kb"
         },
         {
             "name": "my-kb-2"
         }
         ]
     }
    
  2. Szerezze be az egyéni tudásbázisdefiníciót a tudásbázishivatkozások kereséséhez.

    # 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)
    

    Referencia:SearchIndexClient

    Egy példaválasz az alábbihoz hasonlóan nézhet ki:

     {
       "name": "my-kb",
       "description": null,
       "retrievalInstructions": null,
       "answerInstructions": null,
       "outputMode": null,
       "knowledgeSources": [
         {
           "name": "my-blob-ks"
         }
       ],
       "models": [],
       "encryptionKey": null,
       "retrievalReasoningEffort": {
         "kind": "low"
       }
     }
    
  3. Törölje a tudásbázist, vagy ha több tudásbázist használ, frissítse a tudásbázist a forrás eltávolításához. Ez a példa a törlést mutatja be.

    # 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.")
    

    Referencia:SearchIndexClient

  4. Törölje a tudásbázist.

    # 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.")
    

    Referencia:SearchIndexClient

  1. Szerezze be a keresési szolgáltatás összes tudásbázisának listáját.

    ### Get knowledge bases
    GET {{search-url}}/knowledgebases?api-version={{api-version}}&$select=name
    Authorization: Bearer {{token}}
    

    Referencia:Tudásbázisok – Lista

    Egy példaválasz az alábbihoz hasonlóan nézhet ki:

     {
         "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)",
         "value": [
         {
             "name": "my-kb"
         },
         {
             "name": "my-kb-2"
         }
         ]
     }
    
  2. Szerezze be az egyéni tudásbázisdefiníciót a tudásbázishivatkozások kereséséhez.

    ### Get a knowledge base definition
    GET {{search-url}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}}
    Authorization: Bearer {{token}}
    

    Referencia:Tudásbázisok – Get

    Egy példaválasz az alábbihoz hasonlóan nézhet ki:

     {
       "name": "my-kb",
       "description": null,
       "retrievalInstructions": null,
       "answerInstructions": null,
       "outputMode": null,
       "knowledgeSources": [
         {
           "name": "my-blob-ks"
         }
       ],
       "models": [],
       "encryptionKey": null,
       "retrievalReasoningEffort": {
         "kind": "low"
       }
     }
    
  3. Törölje a tudásbázist, vagy ha több tudásbázist használ, frissítse a tudásbázist a forrás eltávolításához. Ez a példa a törlést mutatja be.

    ### Delete a knowledge base
    DELETE {{search-url}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}}
    Authorization: Bearer {{token}}
    

    Referencia:Tudásbázisok – Törlés

  4. Törölje a tudásbázist.

    ### Delete a knowledge source
    DELETE {{search-url}}/knowledgesources/{{knowledge-source-name}}?api-version={{api-version}}
    Authorization: Bearer {{token}}
    

    Referencia:Tudásforrások – Törlés