Indexelt SharePoint 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.

Egy indexelt SharePoint tudásforrás (előzetes verzió) beemeli a SharePoint-tartalmakat az Azure AI Keresés ügynökalapú visszakeresési folyamatába. 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.

Indexelt SharePoint tudásbázis létrehozásakor meg kell adnia egy SharePoint kapcsolati karakterlánc, modelleket és tulajdonságokat a következő Azure AI Keresés objektumok automatikus létrehozásához:

  • Olyan adatforrás, amely SharePoint webhelyekre mutat, és változatlanul használja a kapcsolati karakterlánc. A létrehozott adatforrás a SharePoint indexelő TenantId szabályait követi.
  • Egy készségkészlet, amely többmodális tartalmat darabol és igény szerint vektorizál.
  • Gazdagított tartalmat tároló index, amely megfelel az ügynöki lekérés feltételeinek.
  • Egy indexelő, amely az előző objektumokat használja az indexelési és bővítési folyamat vezetésére.

A létrehozott indexelő megfelel a Microsoft 365 indexelő SharePoint, amelynek előfeltételei, támogatott dokumentumformátumai és korlátozásai az indexelt SharePoint tudásbázisokra is érvényesek. További információ: SharePoint indexelő dokumentációja és az indexelő korlátai. Ha a létrehozott képességkészlet külső szolgáltatást hív meg, az adott képesség bemeneti és szolgáltatási korlátai is érvényesek.

Használat támogatása

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

Előfeltételek

  • 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.

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 indexelt SharePoint tudásbázisra.

{
  "name": "my-indexed-sharepoint-ks",
  "kind": "indexedSharePoint",
  "description": "A sample indexed SharePoint knowledge source",
  "encryptionKey": null,
  "indexedSharePointParameters": {
    "connectionString": "<redacted>",
    "containerName": "defaultSiteLibrary",
    "query": null,
    "ingestionParameters": {
      "disableImageVerbalization": false,
      "ingestionPermissionOptions": [],
      "contentExtractionMode": "minimal",
      "identity": null,
      "embeddingModel": {
        "kind": "azureOpenAI",
        "azureOpenAIParameters": {
          "resourceUri": "<redacted>",
          "deploymentId": "text-embedding-3-large",
          "modelName": "text-embedding-3-large",
          "authIdentity": null
        }
      },
      "chatCompletionModel": null,
      "ingestionSchedule": null,
      "assetStore": null,
      "aiServices": null
    },
    "createdResources": {
      "datasource": "my-indexed-sharepoint-ks-datasource",
      "indexer": "my-indexed-sharepoint-ks-indexer",
      "skillset": "my-indexed-sharepoint-ks-skillset",
      "index": "my-indexed-sharepoint-ks-index"
    }
  },
  "indexedOneLakeParameters": null
}

Tudásbázis létrehozása

Futtassa a következő kódot egy indexelt SharePoint tudásbázis létrehozásához.

// Create an IndexedSharePoint knowledge source
using Azure.Search.Documents.Indexes;
using Azure.Search.Documents.Indexes.Models;
using Azure.Search.Documents.KnowledgeBases.Models;
using Azure.Identity;

var indexClient = new SearchIndexClient(new Uri(searchEndpoint), new DefaultAzureCredential());

var chatCompletionParams = new AzureOpenAIVectorizerParameters
{
    ResourceUri = new Uri(aoaiEndpoint),
    DeploymentName = aoaiGptDeployment,
    ModelName = aoaiGptModel
};

var embeddingParams = new AzureOpenAIVectorizerParameters
{
    ResourceUri = new Uri(aoaiEndpoint),
    DeploymentName = aoaiEmbeddingDeployment,
    ModelName = aoaiEmbeddingModel
};

var ingestionParams = new KnowledgeSourceIngestionParameters
{
    NetworkAccessMode = KnowledgeSourceNetworkAccessMode.Public,
    DisableImageVerbalization = false,
    ChatCompletionModel = new KnowledgeBaseAzureOpenAIModel(azureOpenAIParameters: chatCompletionParams),
    EmbeddingModel = new KnowledgeSourceAzureOpenAIVectorizer
    {
        AzureOpenAIParameters = embeddingParams
    }
};

var sharePointParams = new IndexedSharePointKnowledgeSourceParameters(
    connectionString: sharePointConnectionString,
    containerName: "defaultSiteLibrary")
{
    IngestionParameters = ingestionParams
};

var knowledgeSource = new IndexedSharePointKnowledgeSource(
    name: "my-indexed-sharepoint-ks",
    indexedSharePointParameters: sharePointParams)
{
    Description = "A sample indexed SharePoint knowledge source."
};

await indexClient.CreateOrUpdateKnowledgeSourceAsync(knowledgeSource);
Console.WriteLine($"Knowledge source '{knowledgeSource.Name}' created or updated successfully.");

Referencia:SearchIndexClient, IndexedSharePointKnowledgeSource

# Create an indexed SharePoint knowledge source
from azure.identity import DefaultAzureCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import IndexedSharePointKnowledgeSource, IndexedSharePointKnowledgeSourceParameters, KnowledgeBaseAzureOpenAIModel, AzureOpenAIVectorizerParameters, KnowledgeSourceContentExtractionMode
from azure.search.documents.knowledgebases.models import KnowledgeSourceIngestionParameters, KnowledgeSourceNetworkAccessMode, KnowledgeSourceAzureOpenAIVectorizer

index_client = SearchIndexClient(endpoint = "<search-endpoint>", credential = DefaultAzureCredential())

knowledge_source = IndexedSharePointKnowledgeSource(
    name = "my-indexed-sharepoint-ks",
    description = "A sample indexed SharePoint knowledge source.",
    encryption_key = None,
    indexed_share_point_parameters = IndexedSharePointKnowledgeSourceParameters(
        connection_string = "connection_string",
        container_name = "defaultSiteLibrary",
        query = None,
        ingestion_parameters = KnowledgeSourceIngestionParameters(
            network_access_mode = KnowledgeSourceNetworkAccessMode.PUBLIC,
            identity = None,
            disable_image_verbalization = False,
            chat_completion_model = KnowledgeBaseAzureOpenAIModel(
                azure_open_ai_parameters = AzureOpenAIVectorizerParameters(
                    resource_url = "<aoai-endpoint>",
                    deployment_name = "<aoai-gpt-deployment>",
                    model_name = "<aoai-gpt-model>",
                )
            ),
            embedding_model = KnowledgeSourceAzureOpenAIVectorizer(
                azure_open_ai_parameters=AzureOpenAIVectorizerParameters(
                    resource_url = "<aoai-endpoint>",
                    deployment_name = "<aoai-embedding-deployment>",
                    model_name = "<aoai-embedding-model>",
                )
            ),
            content_extraction_mode = KnowledgeSourceContentExtractionMode.MINIMAL,
            ingestion_schedule = None,
            ingestion_permission_options = None
        )
    )
)

index_client.create_or_update_knowledge_source(knowledge_source)
print(f"Knowledge source '{knowledge_source.name}' created or updated successfully.")

Referencia:SearchIndexClient

### Create an indexed SharePoint knowledge source
PUT {{search-endpoint}}/knowledgesources/my-indexed-sharepoint-ks?api-version=2026-08-01-preview
Authorization: Bearer {{search-access-token}}
Content-Type: application/json

{
    "name": "my-indexed-sharepoint-ks",
    "kind": "indexedSharePoint",
    "description": "A sample indexed SharePoint knowledge source.",
    "encryptionKey": null,
    "indexedSharePointParameters": {
        "connectionString": "{{sharepoint-federated-connection-string}}",
        "containerName": "defaultSiteLibrary",
        "query": null,
        "ingestionParameters": {
            "networkAccessMode": "public",
            "identity": null,
            "embeddingModel": {
                "kind": "azureOpenAI",
                "azureOpenAIParameters": {
                    "deploymentId": "text-embedding-3-large",
                    "modelName": "text-embedding-3-large",
                    "resourceUri": "{{aoai-endpoint}}"
                }
            },
            "chatCompletionModel": null,
            "disableImageVerbalization": false,
            "ingestionSchedule": null,
            "ingestionPermissionOptions": [],
            "contentExtractionMode": "minimal"
        }
    }
}

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

Azure-függőségek védelme a betöltés során

Az API-verziótól 2026-08-01-preview kezdve szabályozza azt a hálózati környezetet, networkAccessMode amelyben az indexelt SharePoint tudásbázishoz létrehozott indexelő fut. Ez a beállítás csak az adatbeolvasást érinti, és nem változtatja meg a tudásbázis-lekérdezési kéréseket vagy válaszokat.

networkAccessMode alapértelmezett értéke public, amely megőrzi a meglévő nyilvános hálózati működést. Ha a(z) networkAccessMode értéke private igaz, a létrehozott indexelő a privát végrehajtási környezetben fut. Jóváhagyott megosztott privát hivatkozásokat használ a támogatott Azure függőségekhez, például Azure OpenAI-modellekhez és Microsoft Foundry-erőforrásokhoz.

Important

Indexelt SharePoint tudásbázisok esetében a privát mód csak a támogatott Azure függőségekre vonatkozik. SharePoint Online nem támogatott megosztott privát kapcsolati cél, ezért a SharePoint forráskapcsolat nyilvános marad.

A támogatott Azure függőségekhez való privát hozzáférés konfigurálása és ellenőrzése:

  1. A magánhálózat előfeltételeinek teljesítése.

  2. Állítsa a(z) private értékét networkAccessMode értékre a tudásforrás létrehozási kérésben. Ezt a tulajdonságot csak a létrehozás során állíthatja be. Ha később módosítani szeretné, törölje és hozza létre újra a tudásbázist.

    A létrehozás meghiúsulhat, ha a szolgáltatási szint vagy a futtatókörnyezet nem támogatja a privát végrehajtást, vagy ha nem létezik egy szükséges megosztott privát kapcsolat.

  3. Győződjön meg arról, hogy a létrehozott indexelő az executionEnvironmentprivate.

  4. Győződjön meg arról, hogy minden szükséges megosztott privát kapcsolat jóvá van hagyva, és a megfelelő függőséget célozza meg. A sikeres létrehozás önmagában nem erősíti meg a hivatkozás jóváhagyását vagy a célzást.

  5. Kérdezze le a tudásforrás állapotát, amíg a(z) lastSynchronizationState.endTime értéket nem kap. Győződjön meg róla, majd itemsUpdatesFailed0ellenőrizze az összekötő-specifikus forrástartalmat. A szinkronizálás meghiúsul, ha egy függőség nem érhető el.

Automatikus nyelvenkénti elemzők használata

Az API-verziótól kezdve a 2026-08-01-preview nyelvenkénti automatikus elemzők blobokhoz, indexelt OneLake-hez és indexelt SharePoint tudásbázisokhoz érhetők el. Ha engedélyezve van, Azure AI Keresés észleli az egyes forrásdokumentumok nyelvét, és automatikusan alkalmazza a megfelelő Microsoft nyelvelemzőt. A tudásbázis-definícióban és a lekérdezésben nem ad meg elemzőt.

Az automatikus nyelvenkénti elemzők engedélyezéséhez állítsa be contentExtractionModeminimal és konfigurálja ingestionParameters.aiServices a tudásbázis definícióját.

Kulcs nélküli hitelesítéshez hagyja el a(z) aiServices.apiKey elemet, és rendelje hozzá a Cognitive Services User szerepkört a keresési szolgáltatás felügyelt identitásához a Microsoft Foundry-erőforráson. Kulcsalapú hitelesítéshez állítson be aiServices.apiKey érvényes kulcsot az Foundry-erőforráshoz.

A következő nyelvek támogatottak:

  • English
  • Japanese
  • French
  • Spanyol
  • Német
  • Holland
  • Italian
  • brazíliai portugál
  • európai portugál
  • Egyszerűsített kínai
  • Hagyományos kínai
  • Korean

Többnyelvű tartalom esetén Azure AI Keresés kiválaszt egy elemzőt az elsődlegesen észlelt nyelv alapján. A standard elemzőt használja, ha a nyelv nem támogatott vagy bizonytalan.

Ha engedélyezi az automatikus nyelvenkénti elemzőket, Azure AI Keresés nyelvspecifikus tartalommezőket ad hozzá minden támogatott nyelvhez a létrehozott indexsémához, függetlenül attól, hogy az adatok ezekben a nyelveken tartalmaznak-e dokumentumokat. A betöltés során a dokumentumok az észlelt nyelv alapján a megfelelő nyelvspecifikus mezőre lesznek irányítva.

A nem használt nyelvi mezők nem tartalmaznak indexelt tartalmat, és minimális tárolási hatással vannak rájuk, de továbbra is az indexséma része maradnak, és az indexmezőkorlát felé számlálnak. Az indexterv, a mezőszám és a tárolási követelmények tervezésekor vegye figyelembe a további mezőket. További információ: Indexkorlátok , keresési szolgáltatás kapacitásának becslése és kezelése.

A nyelvfelismerés az ingyenes AI-bővítési kiosztás után számlázható. További információ: Ingyenes bővítés.

Betöltési állapot ellenőrzése

Futtassa az alábbi kódot a betöltési folyamat és az állapot figyeléséhez, beleértve a tudásbázistípust és az indexelő folyamatot létrehozó és a keresési indexet feltöltő tudásbázisok részletes indexelési hibáit.

using Azure.Search.Documents.Indexes;
using System.Text.Json;

var indexClient = new SearchIndexClient(new Uri(searchEndpoint), new AzureKeyCredential(apiKey));

// Get knowledge source ingestion status
var statusResponse = await indexClient.GetKnowledgeSourceStatusAsync(knowledgeSourceName);
var status = statusResponse.Value;

// Serialize to JSON for display
var json = JsonSerializer.Serialize(status, new JsonSerializerOptions { WriteIndented = true });
Console.WriteLine(json);

Referencia:SearchIndexClient

# Check knowledge source ingestion status
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"))

status = index_client.get_knowledge_source_status("knowledge_source_name")
print(json.dumps(status.as_dict(), indent=2))

Referencia:SearchIndexClient

### Check knowledge source ingestion status
GET {{search-url}}/knowledgesources/{{knowledge-source-name}}/status?api-version={{api-version}}
Authorization: Bearer {{token}}
Content-Type: application/json 

Referencia:Tudásforrások – Állapot lekérése

A betöltési paramétereket tartalmazó és tartalombetöltést aktívan betöltő kérésekre adott válasz az alábbi példához hasonlóan nézhet ki.

{
  "kind": "azureBlob",
  "synchronizationStatus": "active",
  "synchronizationInterval": "1d",
  "currentSynchronizationState": {
    "startTime": "2026-04-10T19:30:00Z",
    "itemUpdatesProcessed": 1100,
    "itemsUpdatesFailed": 100,
    "itemsSkipped": 1100,
    "errors": [
      {
        "key": "Item id 1",
        "docURL": "https://contoso.blob.core.windows.net/contracts/2024/Q4/doc-00023.csv",
        "statusCode": 400,
        "componentName": "DocumentExtraction.AzureBlob.MyDataSource",
        "errorMessage": "Could not read the value of column 'foo' at index '0'.",
        "details": "The file could not be parsed.",
        "documentationLink": "https://go.microsoft.com/fwlink/?linkid=2049388"
      }
    ]
  },
  "lastSynchronizationState": {
    "status": "partialSuccess",
    "startTime": "2026-04-09T19:30:00Z",
    "endTime": "2026-04-09T19:40:01Z",
    "itemUpdatesProcessed": 1100,
    "itemsUpdatesFailed": 100,
    "itemsSkipped": 1100,
    "errors": null
  },
  "statistics": {
    "totalSynchronizations": 25,
    "averageSynchronizationDuration": "00:15:20",
    "averageItemsProcessedPerSynchronization": 500
  }
}

Megjegyzés

A kind dokumentumszintű hibaadatokat tartalmazó tulajdonság és currentSynchronizationState.errors[] tömb a 2026-04-01 API-verziótól kezdve érhető el. A korábbi API-verziók esetében ezek a mezők nem jelennek meg. A lastSynchronizationState.status mező 2026-04-01-ben is új.

A létrehozott objektumok áttekintése

A tudásbázis létrehozásakor a Azure AI Keresés automatikusan létrehoz egy adatforrást, képességkészletet, indexelőt és indexet. A létrehozási válasz az egyes objektumokat a createdResources alatt sorolja fel.

Ezek az objektumok rögzített sablon alapján jönnek létre, és a nevük a tudásforrás nevén alapul. Az objektumnevek nem módosíthatók. Kerülje az objektumok közvetlen szerkesztését, mivel a módosítások olyan hibákat vagy inkompatibilitásokat eredményezhetnek, amelyek megszakítják az indexelő folyamatot.

Az objektumlétrehozás ellenőrzéséhez használhatja a Azure portált. A munkafolyamat a következő:

  1. Ellenőrizze az indexelőben a sikeres vagy sikertelen üzeneteket. Itt csatlakozási vagy kvótahibák jelennek meg.

  2. Ellenőrizze az adatforrást az adattárhoz való kapcsolat ellenőrzéséhez. A kapcsolat kapcsolati karakterlánc vagy felügyelt identitást használ a tudásbázis konfigurálásának módjától függően.

  3. Ellenőrizze a képességkészletet, hogy a tartalom hogyan van csoportosítva és igény szerint vektorizálva.

  4. Ellenőrizze az indexben, hogy a tartalom hogyan van indexelve, és hogyan érhető el lekérés céljából, beleértve, hogy mely mezők kereshetők és szűrhetők, és mely mezők tárolják a hasonlóság kereséséhez használt vektorokat. A Search Explorerrel lekérdezéseket futtathat a létrehozott indexen.

Hozzárendelés tudásbázishoz

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

Az indexelt SharePoint tudásbázisok esetében mindenképpen állítsa be a includeReferenceSourceData értékét true-ra/re. Ez a lépés szükséges a forrásdokumentum URL-címének az idézetbe való lekéréséhez.

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 tudásbázis lekérdezéséhez. Válassza ki a forgatókönyvnek megfelelő konfigurációt.

Dokumentumszintű engedélyek kényszerítése

A dokumentumszintű engedélyek érvényesítéséhez állítsa be ingestionPermissionOptions a tudásbázis létrehozásakor, majd vegye fel a felhasználó hozzáférési jogkivonatát a lekérési kérelembe. További információ: Engedélyek kényszerítése lekérdezéskor (előzetes verzió).

Az indexelt SharePoint engedély lekérdezésének hiányzó, váratlan vagy sikertelen eredményeiért tekintse meg SharePoint engedélyszűrés hibaelhárítását.

Surface dokumentumba ágyazott képek

Ha a dokumentumba ágyazott képeket (például diagramokat vagy szkennelt képeket) meg szeretné jeleníteni a válaszszintézis válaszaiban, konfigurálja a(z) assetStore beállítást ennél a tudásforrásnál, majd engedélyezze a képkiszolgálást a tudásbázison. A rendszerkép-szolgáltatás nem támogatott, ha ingestionPermissionOptions konfigurálva van. További információkért lásd: A dokumentumokba ágyazott képek megjelenítése ügynöki lekérésben (előzetes verzió).

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

Ismert hibák

A létrehozott SharePoint adatforrás és indexelő ugyanazt a Microsoft Entra bérlőérvényesítési és hitelesítési viselkedést használja, mint a közvetlenül konfigurált SharePoint indexelők. Bérlővel kapcsolatos hibák esetén tekintse át a létrehozott indexelő állapotát és végrehajtási előzményeit, majd kövesse a Invalid AAD tenant hibaelhárítási lépéseket.