Udostępnij przez


Utwórz źródło wiedzy OneLake

Uwaga / Notatka

Ta funkcja jest obecnie w publicznej wersji zapoznawczej. Ta wersja zapoznawcza jest udostępniana bez umowy dotyczącej poziomu usług i nie jest zalecana w przypadku obciążeń produkcyjnych. Niektóre funkcje mogą nie być obsługiwane lub mogą mieć ograniczone możliwości. Aby uzyskać więcej informacji, zobacz Warunki dodatkowe korzystania z testowych wersji Microsoft Azure.

Użyj źródła wiedzy OneLake, aby indeksować i wykonywać zapytania dotyczące plików Microsoft OneLake w agentowym potoku pobierania. Źródła wiedzy są tworzone niezależnie, odwołują się do bazy wiedzy i używane jako dane bazowe, gdy agent lub czatbot wywołuje akcję pobierania w czasie wykonywania zapytania.

Podczas tworzenia źródła wiedzy usługi OneLake należy określić zewnętrzne źródło danych, modele i właściwości, aby automatycznie wygenerować następujące obiekty usługi Azure AI Search:

  • Źródło danych reprezentujące jezioro.
  • Zestaw umiejętności, który fragmentuje i opcjonalnie wektoryzuje zawartość wielomodalną z jeziora.
  • Indeks przechowujący wzbogaconą zawartość i spełniający kryteria agentywnego odzysku.
  • Indeksator, który używa poprzednich obiektów w celu sterowania procesem indeksowania i wzbogacenia danych.

Wygenerowany indeksator jest zgodny z indeksatorem OneLake, którego wymagania wstępne, obsługiwane zadania, obsługiwane formaty dokumentów, obsługiwane skróty i ograniczenia dotyczą również źródeł wiedzy OneLake. Aby uzyskać więcej informacji, zobacz dokumentację indeksatora OneLake.

Wymagania wstępne

Sprawdzanie istniejących źródeł wiedzy

Źródłem wiedzy jest obiekt najwyższego poziomu wielokrotnego użytku. Znajomość istniejących źródeł wiedzy jest przydatna w przypadku ponownego użycia lub nazewnictwa nowych obiektów.

Uruchom następujący kod, aby wyświetlić listę źródeł wiedzy według nazwy i typu.

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

Możesz również zwrócić pojedyncze źródło wiedzy według nazwy, aby przejrzeć jego definicję 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));

Poniższy kod JSON to przykładowa odpowiedź dla źródła wiedzy OneLake.

{
  "name": "my-onelake-ks",
  "kind": "indexedOneLake",
  "description": "A sample indexed OneLake knowledge source.",
  "encryptionKey": null,
  "indexedOneLakeParameters": {
    "fabricWorkspaceId": "<REDACTED>",
    "lakehouseId": "<REDACTED>",
    "targetPath": null,
    "ingestionParameters": {
      "disableImageVerbalization": false,
      "ingestionPermissionOptions": [],
      "contentExtractionMode": "standard",
      "identity": null,
      "embeddingModel": {
        "kind": "azureOpenAI",
        "azureOpenAIParameters": {
          "resourceUri": "<REDACTED>",
          "deploymentId": "text-embedding-3-large",
          "apiKey": "<REDACTED>",
          "modelName": "text-embedding-3-large"
        }
      },
      "chatCompletionModel": {
        "kind": "azureOpenAI",
        "azureOpenAIParameters": {
          "resourceUri": "<REDACTED>",
          "deploymentId": "gpt-5-mini",
          "apiKey": "<REDACTED>",
          "modelName": "gpt-5-mini"
        }
      },
      "ingestionSchedule": null,
      "aiServices": {
        "uri": "<REDACTED>",
        "apiKey": "<REDACTED>"
      }
    },
    "createdResources": {
    "datasource": "my-onelake-ks-datasource",
    "indexer": "my-onelake-ks-indexer",
    "skillset": "my-onelake-ks-skillset",
    "index": "my-onelake-ks-index"
    }
  }
}

Uwaga / Notatka

Informacje poufne są redagowane. Wygenerowane zasoby są wyświetlane na końcu odpowiedzi.

Tworzenie źródła wiedzy

Uruchom następujący kod, aby utworzyć źródło wiedzy OneLake.

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

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

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
{
    DisableImageVerbalization = false,
    ChatCompletionModel = new KnowledgeBaseAzureOpenAIModel(azureOpenAIParameters: chatCompletionParams),
    EmbeddingModel = new KnowledgeSourceAzureOpenAIVectorizer
    {
        AzureOpenAIParameters = embeddingParams
    }
};

var oneLakeParams = new IndexedOneLakeKnowledgeSourceParameters(
    fabricWorkspaceId: fabricWorkspaceId,
    lakehouseId: lakehouseId)
{
    IngestionParameters = ingestionParams
};

var knowledgeSource = new IndexedOneLakeKnowledgeSource(
    name: "my-onelake-ks",
    indexedOneLakeParameters: oneLakeParams)
{
    Description = "This knowledge source pulls content from a lakehouse."
};

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

Właściwości specyficzne dla źródła

Możesz przekazać następujące właściwości, aby utworzyć źródło wiedzy OneLake.

Name Description Typ Można edytować Required
Name Nazwa źródła wiedzy, które musi być unikatowe w kolekcji źródeł wiedzy i postępować zgodnie z wytycznymi dotyczącymi nazewnictwa obiektów w usłudze Azure AI Search. Sznurek Tak Tak
Description Opis źródła wiedzy. Sznurek Tak Nie.
EncryptionKey Klucz zarządzany przez klienta do szyfrowania poufnych informacji zarówno w źródle wiedzy, jak i wygenerowanych obiektach. Object Tak Nie.
IndexedOneLakeKnowledgeSourceParameters Parametry specyficzne dla źródeł wiedzy OneLake: fabricWorkspaceId, lakehouseIdi targetPath. Object Tak
fabricWorkspaceId Identyfikator GUID obszaru roboczego, który zawiera obiekt lakehouse. Sznurek Nie. Tak
lakehouseId Identyfikator GUID jeziora. Sznurek Nie. Tak
targetPath Folder lub skrót w ramach lakehouse. Jeśli nie jest określone, cały lakehouse jest indeksowany. Sznurek Nie. Nie.

ingestionParameters właściwości

Tylko w przypadku indeksowanych źródeł wiedzy można przekazać następujące ingestionParameters właściwości, aby kontrolować sposób pozyskiwania i przetwarzania zawartości.

Name Description Typ Można edytować Required
Identity Tożsamość zarządzana do użycia w wygenerowanym indeksatorze. Object Tak Nie.
DisableImageVerbalization Włącza lub wyłącza korzystanie z werbalizacji obrazów. Wartość domyślna to False, która umożliwia słowizację obrazów . Ustaw na True, aby wyłączyć werbalizację obrazów. logiczny Nie. Nie.
ChatCompletionModel Model uzupełniania czatu, który słowizuje obrazy lub wyodrębnia zawartość. Obsługiwane modele to gpt-4o, , gpt-4o-mini, gpt-4.1gpt-4.1-minigpt-4.1-nanogpt-5, , gpt-5-mini, i .gpt-5-nano Umiejętność GenAI Prompt będzie wliczona w wygenerowany zestaw umiejętności. Ustawienie tego parametru wymaga również, aby disable_image_verbalization było ustawione na False. Object Tylko api_key i deployment_name są edytowalne Nie.
EmbeddingModel Model osadzania tekstu, który wektoryzuje zawartość tekstu i obrazu podczas indeksowania i w czasie wykonywania zapytania. Obsługiwane modele to text-embedding-ada-002, text-embedding-3-smalli text-embedding-3-large. Umiejętność Azure OpenAI Embedding zostanie uwzględniona w wygenerowanym zestawie umiejętności, a wektoryzator Azure OpenAI zostanie uwzględniony w wygenerowanym indeksie. Object Tylko api_key i deployment_name są edytowalne Nie.
ContentExtractionMode Określa sposób wyodrębniania zawartości z plików. Wartość domyślna to minimal, która używa standardowego wyodrębniania zawartości dla tekstu i obrazów. Ustaw wartość na standard na potrzeby zaawansowanego łamania dokumentów i fragmentowania przy użyciu umiejętności usługi Azure Content Understanding, która zostanie uwzględniona w wygenerowanych zestawach umiejętności. Tylko dla standard można określić parametry AiServices i AssetStore. Sznurek Nie. Nie.
AiServices Zasób firmy Microsoft Foundry umożliwiający dostęp do usługi Azure Content Understanding w narzędziach Foundry. Ustawienie tego parametru wymaga ustawienia ContentExtractionMode wartości standard. Object Tylko api_key można edytować Tak
IngestionSchedule Dodaje informacje o harmonogramie do wygenerowanego indeksatora. Możesz również dodać harmonogram później, aby zautomatyzować odświeżanie danych. Object Tak Nie.
IngestionPermissionOptions Uprawnienia na poziomie dokumentu do pozyskiwania z wybranych źródeł wiedzy: usługi ADLS Gen2 lub indeksowanego programu SharePoint. Jeśli określisz user_ids, group_idslub rbac_scopewygenerowany indeksator usługi ADLS Gen2 lub indeksator programu SharePoint będzie zawierać pozyskane uprawnienia. Array Nie. Nie.

Sprawdzanie stanu pozyskiwania

Uruchom następujący kod, aby monitorować postęp i stan procesu pozyskiwania, w tym stan indeksatora dla źródeł wiedzy, które tworzą potok indeksacji i uzupełniają indeks wyszukiwania.

// Get knowledge source ingestion status
using Azure.Search.Documents.Indexes;
using System.Text.Json;

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

// Get the knowledge source 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);

Odpowiedź na żądanie zawierające parametry pochłaniania i aktywnie pochłaniającą zawartość może wyglądać podobnie do poniższego przykładu.

{ 
  "synchronizationStatus": "active", // creating, active, deleting 
  "synchronizationInterval" : "1d", // null if no schedule 
  "currentSynchronizationState" : { // spans multiple indexer "runs" 
    "startTime": "2025-10-27T19:30:00Z", 
    "itemUpdatesProcessed": 1100, 
    "itemsUpdatesFailed": 100, 
    "itemsSkipped": 1100, 
  }, 
  "lastSynchronizationState" : {  // null on first sync 
    "startTime": "2025-10-27T19:30:00Z", 
    "endTime": "2025-10-27T19:40:01Z", // this value appears on the activity record on each /retrieve 
    "itemUpdatesProcessed": 1100, 
    "itemsUpdatesFailed": 100, 
    "itemsSkipped": 1100, 
  }, 
  "statistics": {  // null on first sync 
    "totalSynchronization": 25, 
    "averageSynchronizationDuration": "00:15:20", 
    "averageItemsProcessedPerSynchronization" : 500 
  } 
} 

Przeglądanie utworzonych obiektów

Podczas tworzenia źródła wiedzy usługi OneLake usługa wyszukiwania tworzy również indeksator, indeks, zestaw umiejętności i źródło danych. Nie zalecamy edytowania tych obiektów, ponieważ wprowadzenie błędu lub niezgodności może spowodować przerwanie pipeline'u.

Po utworzeniu źródła wiedzy odpowiedź wyświetla listę utworzonych obiektów. Te obiekty są tworzone zgodnie z ustalonym szablonem, a ich nazwy są oparte na nazwie źródła wiedzy. Nie można zmienić nazw obiektów.

Zalecamy użycie witryny Azure Portal do weryfikowania tworzenia danych wyjściowych. Przepływ pracy to:

  1. Sprawdź indeksator pod kątem komunikatów o powodzeniu lub niepowodzeniu. Błędy połączenia lub limitu przydziału są wyświetlane tutaj.
  2. Sprawdź indeks pod kątem zawartości z możliwością wyszukiwania. Uruchamianie zapytań za pomocą Eksploratora wyszukiwania.
  3. Sprawdź zestaw umiejętności, aby dowiedzieć się, jak zawartość jest fragmentowana i opcjonalnie wektoryzowana.
  4. Sprawdź źródło danych, aby uzyskać szczegółowe informacje o połączeniu. W naszym przykładzie użyto kluczy interfejsu API dla uproszczenia, ale możesz użyć identyfikatora Entra firmy Microsoft do uwierzytelniania i kontroli dostępu opartej na rolach na potrzeby autoryzacji.

Przypisywanie do bazy wiedzy

Jeśli źródło wiedzy jest zadowalające, przejdź do następnego kroku: określ źródło wiedzy w bazie wiedzy.

W przypadku każdej bazy wiedzy, która określa źródło wiedzy OneLake, upewnij się, że ustawiono wartość includeReferenceSourceDatatrue. Ten krok jest niezbędny do ściągnięcia adresu URL dokumentu źródłowego do cytatu.

Po skonfigurowaniu bazy wiedzy użyj akcji pobierania , aby wysłać zapytanie do źródła wiedzy.

Usuwanie źródła wiedzy

Aby można było usunąć źródło wiedzy, należy usunąć dowolną bazę wiedzy, która odwołuje się do źródła wiedzy, lub zaktualizować definicję bazy wiedzy, aby usunąć odwołanie. W przypadku źródeł wiedzy, które generują potok indeksu i indeksatora, wszystkie wygenerowane obiekty również są usuwane. Jeśli jednak użyto istniejącego indeksu do utworzenia źródła wiedzy, indeks nie zostanie usunięty.

Jeśli spróbujesz usunąć używane źródło wiedzy, akcja zakończy się niepowodzeniem i zwróci listę baz wiedzy, których dotyczy problem.

Aby usunąć źródło wiedzy:

  1. Pobierz listę wszystkich baz wiedzy w usłudze wyszukiwania.

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

    Przykładowa odpowiedź może wyglądać następująco:

     Knowledge Bases:
       - earth-knowledge-base
       - hotels-sample-knowledge-base
       - my-demo-knowledge-base
    
  2. Uzyskaj pojedynczą definicję bazy wiedzy, aby sprawdzić odwołania do źródeł wiedzy.

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

    Przykładowa odpowiedź może wyglądać następująco:

     {
       "Name": "earth-knowledge-base",
       "KnowledgeSources": [
         {
           "Name": "earth-knowledge-source"
         }
       ],
       "Models": [
         {}
       ],
       "RetrievalReasoningEffort": {},
       "OutputMode": {},
       "ETag": "\u00220x8DE278629D782B3\u0022",
       "EncryptionKey": null,
       "Description": null,
       "RetrievalInstructions": null,
       "AnswerInstructions": null
     }
    
  3. Usuń bazę wiedzy lub zaktualizuj bazę wiedzy , aby usunąć źródło wiedzy, jeśli masz wiele źródeł. W tym przykładzie pokazano usunięcie.

    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.");
    
  4. Usuń źródło wiedzy.

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

Uwaga / Notatka

Ta funkcja jest obecnie w publicznej wersji zapoznawczej. Ta wersja zapoznawcza jest udostępniana bez umowy dotyczącej poziomu usług i nie jest zalecana w przypadku obciążeń produkcyjnych. Niektóre funkcje mogą nie być obsługiwane lub mogą mieć ograniczone możliwości. Aby uzyskać więcej informacji, zobacz Warunki dodatkowe korzystania z testowych wersji Microsoft Azure.

Użyj źródła wiedzy OneLake, aby indeksować i wykonywać zapytania dotyczące plików Microsoft OneLake w agentowym potoku pobierania. Źródła wiedzy są tworzone niezależnie, odwołują się do bazy wiedzy i używane jako dane bazowe, gdy agent lub czatbot wywołuje akcję pobierania w czasie wykonywania zapytania.

Podczas tworzenia źródła wiedzy usługi OneLake należy określić zewnętrzne źródło danych, modele i właściwości, aby automatycznie wygenerować następujące obiekty usługi Azure AI Search:

  • Źródło danych reprezentujące jezioro.
  • Zestaw umiejętności, który fragmentuje i opcjonalnie wektoryzuje zawartość wielomodalną z jeziora.
  • Indeks przechowujący wzbogaconą zawartość i spełniający kryteria agentywnego odzysku.
  • Indeksator, który używa poprzednich obiektów w celu sterowania procesem indeksowania i wzbogacenia danych.

Wygenerowany indeksator jest zgodny z indeksatorem OneLake, którego wymagania wstępne, obsługiwane zadania, obsługiwane formaty dokumentów, obsługiwane skróty i ograniczenia dotyczą również źródeł wiedzy OneLake. Aby uzyskać więcej informacji, zobacz dokumentację indeksatora OneLake.

Wymagania wstępne

Sprawdzanie istniejących źródeł wiedzy

Źródłem wiedzy jest obiekt najwyższego poziomu wielokrotnego użytku. Znajomość istniejących źródeł wiedzy jest przydatna w przypadku ponownego użycia lub nazewnictwa nowych obiektów.

Uruchom następujący kod, aby wyświetlić listę źródeł wiedzy według nazwy i typu.

# List knowledge sources by name and type
import requests
import json

endpoint = "{search_url}/knowledgesources"
params = {"api-version": "2025-11-01-preview", "$select": "name, kind"}
headers = {"api-key": "{api_key}"}

response = requests.get(endpoint, params = params, headers = headers)
print(json.dumps(response.json(), indent = 2))

Możesz również zwrócić pojedyncze źródło wiedzy według nazwy, aby przejrzeć jego definicję JSON.

# Get a knowledge source definition
import requests
import json

endpoint = "{search_url}/knowledgesources/{knowledge_source_name}"
params = {"api-version": "2025-11-01-preview"}
headers = {"api-key": "{api_key}"}

response = requests.get(endpoint, params = params, headers = headers)
print(json.dumps(response.json(), indent = 2))

Poniższy kod JSON to przykładowa odpowiedź dla źródła wiedzy OneLake.

{
  "name": "my-onelake-ks",
  "kind": "indexedOneLake",
  "description": "A sample indexed OneLake knowledge source.",
  "encryptionKey": null,
  "indexedOneLakeParameters": {
    "fabricWorkspaceId": "<REDACTED>",
    "lakehouseId": "<REDACTED>",
    "targetPath": null,
    "ingestionParameters": {
      "disableImageVerbalization": false,
      "ingestionPermissionOptions": [],
      "contentExtractionMode": "standard",
      "identity": null,
      "embeddingModel": {
        "kind": "azureOpenAI",
        "azureOpenAIParameters": {
          "resourceUri": "<REDACTED>",
          "deploymentId": "text-embedding-3-large",
          "apiKey": "<REDACTED>",
          "modelName": "text-embedding-3-large"
        }
      },
      "chatCompletionModel": {
        "kind": "azureOpenAI",
        "azureOpenAIParameters": {
          "resourceUri": "<REDACTED>",
          "deploymentId": "gpt-5-mini",
          "apiKey": "<REDACTED>",
          "modelName": "gpt-5-mini"
        }
      },
      "ingestionSchedule": null,
      "aiServices": {
        "uri": "<REDACTED>",
        "apiKey": "<REDACTED>"
      }
    },
    "createdResources": {
    "datasource": "my-onelake-ks-datasource",
    "indexer": "my-onelake-ks-indexer",
    "skillset": "my-onelake-ks-skillset",
    "index": "my-onelake-ks-index"
    }
  }
}

Uwaga / Notatka

Informacje poufne są redagowane. Wygenerowane zasoby są wyświetlane na końcu odpowiedzi.

Tworzenie źródła wiedzy

Uruchom następujący kod, aby utworzyć źródło wiedzy OneLake.

# Create a OneLake knowledge source
from azure.core.credentials import AzureKeyCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import IndexedOneLakeKnowledgeSource, IndexedOneLakeKnowledgeSourceParameters, KnowledgeBaseAzureOpenAIModel, AzureOpenAIVectorizerParameters, KnowledgeSourceAzureOpenAIVectorizer, KnowledgeSourceContentExtractionMode, KnowledgeSourceIngestionParameters

index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key"))

knowledge_source = IndexedOneLakeKnowledgeSource(
    name = "my-onelake-ks",
    description= "This knowledge source pulls content from a lakehouse.",
    encryption_key = None,
    indexed_one_lake_parameters = IndexedOneLakeKnowledgeSourceParameters(
        fabric_workspace_id = "fabric_workspace_id",
        lakehouse_id = "lakehouse_id",
        target_path = None,
        ingestion_parameters = KnowledgeSourceIngestionParameters(
            identity = None,
            disable_image_verbalization = False,
            chat_completion_model = KnowledgeBaseAzureOpenAIModel(
                azure_open_ai_parameters = AzureOpenAIVectorizerParameters(
                    # TRIMMED FOR BREVITY
                )
            ),
            embedding_model = KnowledgeSourceAzureOpenAIVectorizer(
                azure_open_ai_parameters=AzureOpenAIVectorizerParameters(
                    # TRIMMED FOR BREVITY
                )
            ),
            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.")

Właściwości specyficzne dla źródła

Możesz przekazać następujące właściwości, aby utworzyć źródło wiedzy OneLake.

Name Description Typ Można edytować Required
name Nazwa źródła wiedzy, które musi być unikatowe w kolekcji źródeł wiedzy i postępować zgodnie z wytycznymi dotyczącymi nazewnictwa obiektów w usłudze Azure AI Search. Sznurek Tak Tak
description Opis źródła wiedzy. Sznurek Tak Nie.
encryption Klucz zarządzany przez klienta do szyfrowania poufnych informacji zarówno w źródle wiedzy, jak i wygenerowanych obiektach. Object Tak Nie.
indexed_one_lake_parameters Parametry specyficzne dla źródeł wiedzy OneLake: fabric_workspace_id, lakehouse_idi target_path. Object Tak
fabric_workspace_id Identyfikator GUID obszaru roboczego, który zawiera obiekt lakehouse. Sznurek Nie. Tak
lakehouse_id Identyfikator GUID jeziora. Sznurek Nie. Tak
target_path Folder lub skrót w ramach lakehouse. Jeśli nie jest określone, cały lakehouse jest indeksowany. Sznurek Nie. Nie.

ingestionParameters właściwości

Tylko w przypadku indeksowanych źródeł wiedzy można przekazać następujące ingestionParameters właściwości, aby kontrolować sposób pozyskiwania i przetwarzania zawartości.

Name Description Typ Można edytować Required
identity Tożsamość zarządzana do użycia w wygenerowanym indeksatorze. Object Tak Nie.
disable_image_verbalization Włącza lub wyłącza korzystanie z werbalizacji obrazów. Wartość domyślna to False, która umożliwia słowizację obrazów . Ustaw na True, aby wyłączyć werbalizację obrazów. logiczny Nie. Nie.
chat_completion_model Model uzupełniania czatu, który słowizuje obrazy lub wyodrębnia zawartość. Obsługiwane modele to gpt-4o, , gpt-4o-mini, gpt-4.1gpt-4.1-minigpt-4.1-nanogpt-5, , gpt-5-mini, i .gpt-5-nano Umiejętność GenAI Prompt będzie wliczona w wygenerowany zestaw umiejętności. Ustawienie tego parametru wymaga również, aby disable_image_verbalization było ustawione na False. Object Tylko api_key i deployment_name są edytowalne Nie.
embedding_model Model osadzania tekstu, który wektoryzuje zawartość tekstu i obrazu podczas indeksowania i w czasie wykonywania zapytania. Obsługiwane modele to text-embedding-ada-002, text-embedding-3-smalli text-embedding-3-large. Umiejętność Azure OpenAI Embedding zostanie uwzględniona w wygenerowanym zestawie umiejętności, a wektoryzator Azure OpenAI zostanie uwzględniony w wygenerowanym indeksie. Object Tylko api_key i deployment_name są edytowalne Nie.
content_extraction_mode Określa sposób wyodrębniania zawartości z plików. Wartość domyślna to minimal, która używa standardowego wyodrębniania zawartości dla tekstu i obrazów. Ustaw wartość na standard na potrzeby zaawansowanego łamania dokumentów i fragmentowania przy użyciu umiejętności usługi Azure Content Understanding, która zostanie uwzględniona w wygenerowanych zestawach umiejętności. Tylko dla standard można określić parametry ai_services i asset_store. Sznurek Nie. Nie.
ai_services Zasób firmy Microsoft Foundry umożliwiający dostęp do usługi Azure Content Understanding w narzędziach Foundry. Ustawienie tego parametru wymaga ustawienia content_extraction_mode wartości standard. Object Tylko api_key można edytować Tak
asset_store Kontener obiektów blob do przechowywania wyodrębnionych obrazów. Ustawienie tego parametru wymaga ustawienia content_extraction_mode wartości standard. Object Nie. Nie.
ingestion_schedule Dodaje informacje o harmonogramie do wygenerowanego indeksatora. Możesz również dodać harmonogram później, aby zautomatyzować odświeżanie danych. Object Tak Nie.
ingestion_permission_options Uprawnienia na poziomie dokumentu do pozyskiwania z wybranych źródeł wiedzy: usługi ADLS Gen2 lub indeksowanego programu SharePoint. Jeśli określisz user_ids, group_idslub rbac_scopewygenerowany indeksator usługi ADLS Gen2 lub indeksator programu SharePoint będzie zawierać pozyskane uprawnienia. Array Nie. Nie.

Sprawdzanie stanu pozyskiwania

Uruchom następujący kod, aby monitorować postęp pozyskiwania i kondycję systemu, w tym stan indeksatora dla źródeł wiedzy, które tworzą potok indeksowania i wypełniają indeks wyszukiwania.

# Check knowledge source ingestion status
import requests
import json

endpoint = "{search_url}/knowledgesources/{knowledge_source_name}/status"
params = {"api-version": "2025-11-01-preview"}
headers = {"api-key": "{api_key}"}

response = requests.get(endpoint, params = params, headers = headers)
print(json.dumps(response.json(), indent = 2))

Odpowiedź na żądanie zawierające parametry pochłaniania i aktywnie pochłaniającą zawartość może wyglądać podobnie do poniższego przykładu.

{ 
  "synchronizationStatus": "active", // creating, active, deleting 
  "synchronizationInterval" : "1d", // null if no schedule 
  "currentSynchronizationState" : { // spans multiple indexer "runs" 
    "startTime": "2025-10-27T19:30:00Z", 
    "itemUpdatesProcessed": 1100, 
    "itemsUpdatesFailed": 100, 
    "itemsSkipped": 1100, 
  }, 
  "lastSynchronizationState" : {  // null on first sync 
    "startTime": "2025-10-27T19:30:00Z", 
    "endTime": "2025-10-27T19:40:01Z", // this value appears on the activity record on each /retrieve 
    "itemUpdatesProcessed": 1100, 
    "itemsUpdatesFailed": 100, 
    "itemsSkipped": 1100, 
  }, 
  "statistics": {  // null on first sync 
    "totalSynchronization": 25, 
    "averageSynchronizationDuration": "00:15:20", 
    "averageItemsProcessedPerSynchronization" : 500 
  } 
} 

Przeglądanie utworzonych obiektów

Podczas tworzenia źródła wiedzy usługi OneLake usługa wyszukiwania tworzy również indeksator, indeks, zestaw umiejętności i źródło danych. Nie zalecamy edytowania tych obiektów, ponieważ wprowadzenie błędu lub niezgodności może spowodować przerwanie pipeline'u.

Po utworzeniu źródła wiedzy odpowiedź wyświetla listę utworzonych obiektów. Te obiekty są tworzone zgodnie z ustalonym szablonem, a ich nazwy są oparte na nazwie źródła wiedzy. Nie można zmienić nazw obiektów.

Zalecamy użycie witryny Azure Portal do weryfikowania tworzenia danych wyjściowych. Przepływ pracy to:

  1. Sprawdź indeksator pod kątem komunikatów o powodzeniu lub niepowodzeniu. Błędy połączenia lub limitu przydziału są wyświetlane tutaj.
  2. Sprawdź indeks pod kątem zawartości z możliwością wyszukiwania. Uruchamianie zapytań za pomocą Eksploratora wyszukiwania.
  3. Sprawdź zestaw umiejętności, aby dowiedzieć się, jak zawartość jest fragmentowana i opcjonalnie wektoryzowana.
  4. Sprawdź źródło danych, aby uzyskać szczegółowe informacje o połączeniu. W naszym przykładzie użyto kluczy interfejsu API dla uproszczenia, ale możesz użyć identyfikatora Entra firmy Microsoft do uwierzytelniania i kontroli dostępu opartej na rolach na potrzeby autoryzacji.

Przypisywanie do bazy wiedzy

Jeśli źródło wiedzy jest zadowalające, przejdź do następnego kroku: określ źródło wiedzy w bazie wiedzy.

W przypadku każdej bazy wiedzy, która określa źródło wiedzy OneLake, upewnij się, że ustawiono wartość includeReferenceSourceDatatrue. Ten krok jest niezbędny do ściągnięcia adresu URL dokumentu źródłowego do cytatu.

Po skonfigurowaniu bazy wiedzy użyj akcji pobierania , aby wysłać zapytanie do źródła wiedzy.

Usuwanie źródła wiedzy

Aby można było usunąć źródło wiedzy, należy usunąć dowolną bazę wiedzy, która odwołuje się do źródła wiedzy, lub zaktualizować definicję bazy wiedzy, aby usunąć odwołanie. W przypadku źródeł wiedzy, które generują potok indeksu i indeksatora, wszystkie wygenerowane obiekty również są usuwane. Jeśli jednak użyto istniejącego indeksu do utworzenia źródła wiedzy, indeks nie zostanie usunięty.

Jeśli spróbujesz usunąć używane źródło wiedzy, akcja zakończy się niepowodzeniem i zwróci listę baz wiedzy, których dotyczy problem.

Aby usunąć źródło wiedzy:

  1. Pobierz listę wszystkich baz wiedzy w usłudze wyszukiwania.

    # Get knowledge bases
    import requests
    import json
    
    endpoint = "{search_url}/knowledgebases"
    params = {"api-version": "2025-11-01-preview", "$select": "name"}
    headers = {"api-key": "{api_key}"}
    
    response = requests.get(endpoint, params = params, headers = headers)
    print(json.dumps(response.json(), indent = 2))
    

    Przykładowa odpowiedź może wyglądać następująco:

     {
         "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)",
         "value": [
         {
             "name": "my-kb"
         },
         {
             "name": "my-kb-2"
         }
         ]
     }
    
  2. Uzyskaj pojedynczą definicję bazy wiedzy, aby sprawdzić odwołania do źródeł wiedzy.

    # Get a knowledge base definition
    import requests
    import json
    
    endpoint = "{search_url}/knowledgebases/{knowledge_base_name}"
    params = {"api-version": "2025-11-01-preview"}
    headers = {"api-key": "{api_key}"}
    
    response = requests.get(endpoint, params = params, headers = headers)
    print(json.dumps(response.json(), indent = 2))
    

    Przykładowa odpowiedź może wyglądać następująco:

     {
       "name": "my-kb",
       "description": null,
       "retrievalInstructions": null,
       "answerInstructions": null,
       "outputMode": null,
       "knowledgeSources": [
         {
           "name": "my-blob-ks",
         }
       ],
       "models": [],
       "encryptionKey": null,
       "retrievalReasoningEffort": {
         "kind": "low"
       }
     }
    
  3. Usuń bazę wiedzy lub zaktualizuj bazę wiedzy , aby usunąć źródło wiedzy, jeśli masz wiele źródeł. W tym przykładzie pokazano usunięcie.

    # 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.")
    
  4. Usuń źródło wiedzy.

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

Uwaga / Notatka

Ta funkcja jest obecnie w publicznej wersji zapoznawczej. Ta wersja zapoznawcza jest udostępniana bez umowy dotyczącej poziomu usług i nie jest zalecana w przypadku obciążeń produkcyjnych. Niektóre funkcje mogą nie być obsługiwane lub mogą mieć ograniczone możliwości. Aby uzyskać więcej informacji, zobacz Warunki dodatkowe korzystania z testowych wersji Microsoft Azure.

Użyj źródła wiedzy OneLake, aby indeksować i wykonywać zapytania dotyczące plików Microsoft OneLake w agentowym potoku pobierania. Źródła wiedzy są tworzone niezależnie, odwołują się do bazy wiedzy i używane jako dane bazowe, gdy agent lub czatbot wywołuje akcję pobierania w czasie wykonywania zapytania.

Podczas tworzenia źródła wiedzy usługi OneLake należy określić zewnętrzne źródło danych, modele i właściwości, aby automatycznie wygenerować następujące obiekty usługi Azure AI Search:

  • Źródło danych reprezentujące jezioro.
  • Zestaw umiejętności, który fragmentuje i opcjonalnie wektoryzuje zawartość wielomodalną z jeziora.
  • Indeks przechowujący wzbogaconą zawartość i spełniający kryteria agentywnego odzysku.
  • Indeksator, który używa poprzednich obiektów w celu sterowania procesem indeksowania i wzbogacenia danych.

Wygenerowany indeksator jest zgodny z indeksatorem OneLake, którego wymagania wstępne, obsługiwane zadania, obsługiwane formaty dokumentów, obsługiwane skróty i ograniczenia dotyczą również źródeł wiedzy OneLake. Aby uzyskać więcej informacji, zobacz dokumentację indeksatora OneLake.

Wymagania wstępne

Sprawdzanie istniejących źródeł wiedzy

Źródłem wiedzy jest obiekt najwyższego poziomu wielokrotnego użytku. Znajomość istniejących źródeł wiedzy jest przydatna w przypadku ponownego użycia lub nazewnictwa nowych obiektów.

Użyj Knowledge Sources - Get (REST API), aby wyświetlić listę źródeł wiedzy według nazwy i typu.

### List knowledge sources by name and type
GET {{search-url}}/knowledgesources?api-version=2025-11-01-preview&$select=name,kind
api-key: {{api-key}}

Możesz również zwrócić pojedyncze źródło wiedzy według nazwy, aby przejrzeć jego definicję JSON.

### Get a knowledge source definition
GET {{search-url}}/knowledgesources/{{knowledge-source-name}}?api-version=2025-11-01-preview
api-key: {{api-key}}

Poniższy kod JSON to przykładowa odpowiedź dla źródła wiedzy OneLake.

{
  "name": "my-onelake-ks",
  "kind": "indexedOneLake",
  "description": "A sample indexed OneLake knowledge source.",
  "encryptionKey": null,
  "indexedOneLakeParameters": {
    "fabricWorkspaceId": "<REDACTED>",
    "lakehouseId": "<REDACTED>",
    "targetPath": null,
    "ingestionParameters": {
      "disableImageVerbalization": false,
      "ingestionPermissionOptions": [],
      "contentExtractionMode": "standard",
      "identity": null,
      "embeddingModel": {
        "kind": "azureOpenAI",
        "azureOpenAIParameters": {
          "resourceUri": "<REDACTED>",
          "deploymentId": "text-embedding-3-large",
          "apiKey": "<REDACTED>",
          "modelName": "text-embedding-3-large"
        }
      },
      "chatCompletionModel": {
        "kind": "azureOpenAI",
        "azureOpenAIParameters": {
          "resourceUri": "<REDACTED>",
          "deploymentId": "gpt-5-mini",
          "apiKey": "<REDACTED>",
          "modelName": "gpt-5-mini"
        }
      },
      "ingestionSchedule": null,
      "aiServices": {
        "uri": "<REDACTED>",
        "apiKey": "<REDACTED>"
      }
    },
    "createdResources": {
    "datasource": "my-onelake-ks-datasource",
    "indexer": "my-onelake-ks-indexer",
    "skillset": "my-onelake-ks-skillset",
    "index": "my-onelake-ks-index"
    }
  }
}

Uwaga / Notatka

Informacje poufne są redagowane. Wygenerowane zasoby są wyświetlane na końcu odpowiedzi.

Tworzenie źródła wiedzy

Użyj Źródeł Wiedzy - Utwórz lub Zaktualizuj (REST API), aby utworzyć źródło wiedzy OneLake.

PUT {{search-url}}/knowledgesources/my-onelake-ks?api-version=2025-11-01-preview
api-key: {{api-key}}
Content-Type: application/json

{
    "name": "my-onelake-ks",
    "kind": "indexedOneLake",
    "description": "This knowledge source pulls content from a lakehouse.",
    "indexedOneLakeParameters": {
      "fabricWorkspaceId": "<YOUR FABRIC WORKSPACE GUID>",
      "lakehouseId": "<YOUR LAKEHOUSE GUID>",
      "targetPath": null,
      "ingestionParameters": {
        "identity": null,
        "disableImageVerbalization": null,
        "chatCompletionModel": { TRIMMED FOR BREVITY },
        "embeddingModel": { TRIMMED FOR BREVITY },
        "contentExtractionMode": "minimal",
        "ingestionSchedule": null,
        "ingestionPermissionOptions": []
    }
  }
}

Właściwości specyficzne dla źródła

Możesz przekazać następujące właściwości, aby utworzyć źródło wiedzy OneLake.

Name Description Typ Można edytować Required
name Nazwa źródła wiedzy, które musi być unikatowe w kolekcji źródeł wiedzy i postępować zgodnie z wytycznymi dotyczącymi nazewnictwa obiektów w usłudze Azure AI Search. Sznurek Tak Tak
kind Rodzaj źródła wiedzy, który jest indexedOneLake w tym przypadku. Sznurek Nie. Tak
description Opis źródła wiedzy. Sznurek Tak Nie.
encryptionKey Klucz zarządzany przez klienta do szyfrowania poufnych informacji zarówno w źródle wiedzy, jak i wygenerowanych obiektach. Object Tak Nie.
indexedOneLakeParameters Parametry specyficzne dla źródeł wiedzy OneLake: fabricWorkspaceId, lakehouseIdi targetPath. Object Tak
fabricWorkspaceId Identyfikator GUID obszaru roboczego, który zawiera obiekt lakehouse. Sznurek Nie. Tak
lakehouseId Identyfikator GUID jeziora. Sznurek Nie. Tak
targetPath Folder lub skrót w ramach lakehouse. Jeśli nie jest określone, cały lakehouse jest indeksowany. Sznurek Nie. Nie.

ingestionParameters właściwości

Tylko w przypadku indeksowanych źródeł wiedzy można przekazać następujące ingestionParameters właściwości, aby kontrolować sposób pozyskiwania i przetwarzania zawartości.

Name Description Typ Można edytować Required
identity Tożsamość zarządzana do użycia w wygenerowanym indeksatorze. Object Tak Nie.
disableImageVerbalization Włącza lub wyłącza korzystanie z werbalizacji obrazów. Wartość domyślna to false, która umożliwia słowizację obrazów . Ustaw na true, aby wyłączyć werbalizację obrazów. logiczny Nie. Nie.
chatCompletionModel Model uzupełniania czatu, który słowizuje obrazy lub wyodrębnia zawartość. Obsługiwane modele to gpt-4o, , gpt-4o-mini, gpt-4.1gpt-4.1-minigpt-4.1-nanogpt-5, , gpt-5-mini, i .gpt-5-nano Umiejętność GenAI Prompt będzie wliczona w wygenerowany zestaw umiejętności. Ustawienie tego parametru wymaga również, aby disableImageVerbalization było ustawione na false. Object Tylko apiKey i deploymentId są edytowalne Nie.
embeddingModel Model osadzania tekstu, który wektoryzuje zawartość tekstu i obrazu podczas indeksowania i w czasie wykonywania zapytania. Obsługiwane modele to text-embedding-ada-002, text-embedding-3-smalli text-embedding-3-large. Umiejętność Azure OpenAI Embedding zostanie uwzględniona w wygenerowanym zestawie umiejętności, a wektoryzator Azure OpenAI zostanie uwzględniony w wygenerowanym indeksie. Object Tylko apiKey i deploymentId są edytowalne Nie.
contentExtractionMode Określa sposób wyodrębniania zawartości z plików. Wartość domyślna to minimal, która używa standardowego wyodrębniania zawartości dla tekstu i obrazów. Ustaw wartość na standard na potrzeby zaawansowanego łamania dokumentów i fragmentowania przy użyciu umiejętności usługi Azure Content Understanding, która zostanie uwzględniona w wygenerowanych zestawach umiejętności. Tylko dla standard można określić parametry aiServices i assetStore. Sznurek Nie. Nie.
aiServices Zasób firmy Microsoft Foundry umożliwiający dostęp do usługi Azure Content Understanding w narzędziach Foundry. Ustawienie tego parametru wymaga ustawienia contentExtractionMode wartości standard. Object Tylko apiKey można edytować Tak
assetStore Kontener obiektów blob do przechowywania wyodrębnionych obrazów. Ustawienie tego parametru wymaga ustawienia contentExtractionMode wartości standard. Object Nie. Nie.
ingestionSchedule Dodaje informacje o harmonogramie do wygenerowanego indeksatora. Możesz również dodać harmonogram później, aby zautomatyzować odświeżanie danych. Object Tak Nie.
ingestionPermissionOptions Uprawnienia na poziomie dokumentu do pozyskiwania z wybranych źródeł wiedzy: usługi ADLS Gen2 lub indeksowanego programu SharePoint. Jeśli określisz userIds, groupIdslub rbacScopewygenerowany indeksator usługi ADLS Gen2 lub indeksator programu SharePoint będzie zawierać pozyskane uprawnienia. Array Nie. Nie.

Sprawdzanie stanu pozyskiwania

Użyj Źródeł Wiedzy - Stan (REST API), aby monitorować postęp i kondycję pozyskiwania, w tym stan indeksatora dla źródeł wiedzy, które generują potok indeksatora i wypełniają indeks wyszukiwania.

### Check knowledge source ingestion status
GET {{search-url}}/knowledgesources/{{knowledge-source-name}}/status?api-version=2025-11-01-preview
api-key: {{api-key}}
Content-Type: application/json 

Odpowiedź na żądanie zawierające parametry pochłaniania i aktywnie pochłaniającą zawartość może wyglądać podobnie do poniższego przykładu.

{ 
  "synchronizationStatus": "active", // creating, active, deleting 
  "synchronizationInterval" : "1d", // null if no schedule 
  "currentSynchronizationState" : { // spans multiple indexer "runs" 
    "startTime": "2025-10-27T19:30:00Z", 
    "itemUpdatesProcessed": 1100, 
    "itemsUpdatesFailed": 100, 
    "itemsSkipped": 1100, 
  }, 
  "lastSynchronizationState" : {  // null on first sync 
    "startTime": "2025-10-27T19:30:00Z", 
    "endTime": "2025-10-27T19:40:01Z", // this value appears on the activity record on each /retrieve 
    "itemUpdatesProcessed": 1100, 
    "itemsUpdatesFailed": 100, 
    "itemsSkipped": 1100, 
  }, 
  "statistics": {  // null on first sync 
    "totalSynchronization": 25, 
    "averageSynchronizationDuration": "00:15:20", 
    "averageItemsProcessedPerSynchronization" : 500 
  } 
} 

Przeglądanie utworzonych obiektów

Podczas tworzenia źródła wiedzy usługi OneLake usługa wyszukiwania tworzy również indeksator, indeks, zestaw umiejętności i źródło danych. Nie zalecamy edytowania tych obiektów, ponieważ wprowadzenie błędu lub niezgodności może spowodować przerwanie pipeline'u.

Po utworzeniu źródła wiedzy odpowiedź wyświetla listę utworzonych obiektów. Te obiekty są tworzone zgodnie z ustalonym szablonem, a ich nazwy są oparte na nazwie źródła wiedzy. Nie można zmienić nazw obiektów.

Zalecamy użycie witryny Azure Portal do weryfikowania tworzenia danych wyjściowych. Przepływ pracy to:

  1. Sprawdź indeksator pod kątem komunikatów o powodzeniu lub niepowodzeniu. Błędy połączenia lub limitu przydziału są wyświetlane tutaj.
  2. Sprawdź indeks pod kątem zawartości z możliwością wyszukiwania. Uruchamianie zapytań za pomocą Eksploratora wyszukiwania.
  3. Sprawdź zestaw umiejętności, aby dowiedzieć się, jak zawartość jest fragmentowana i opcjonalnie wektoryzowana.
  4. Sprawdź źródło danych, aby uzyskać szczegółowe informacje o połączeniu. W naszym przykładzie użyto kluczy interfejsu API dla uproszczenia, ale możesz użyć identyfikatora Entra firmy Microsoft do uwierzytelniania i kontroli dostępu opartej na rolach na potrzeby autoryzacji.

Przypisywanie do bazy wiedzy

Jeśli źródło wiedzy jest zadowalające, przejdź do następnego kroku: określ źródło wiedzy w bazie wiedzy.

W przypadku każdej bazy wiedzy, która określa źródło wiedzy OneLake, upewnij się, że ustawiono wartość includeReferenceSourceDatatrue. Ten krok jest niezbędny do ściągnięcia adresu URL dokumentu źródłowego do cytatu.

Po skonfigurowaniu bazy wiedzy użyj akcji pobierania , aby wysłać zapytanie do źródła wiedzy.

Usuwanie źródła wiedzy

Aby można było usunąć źródło wiedzy, należy usunąć dowolną bazę wiedzy, która odwołuje się do źródła wiedzy, lub zaktualizować definicję bazy wiedzy, aby usunąć odwołanie. W przypadku źródeł wiedzy, które generują potok indeksu i indeksatora, wszystkie wygenerowane obiekty również są usuwane. Jeśli jednak użyto istniejącego indeksu do utworzenia źródła wiedzy, indeks nie zostanie usunięty.

Jeśli spróbujesz usunąć używane źródło wiedzy, akcja zakończy się niepowodzeniem i zwróci listę baz wiedzy, których dotyczy problem.

Aby usunąć źródło wiedzy:

  1. Pobierz listę wszystkich baz wiedzy w usłudze wyszukiwania.

    ### Get knowledge bases
    GET {{search-endpoint}}/knowledgebases?api-version=2025-11-01-preview&$select=name
    api-key: {{api-key}}
    

    Przykładowa odpowiedź może wyglądać następująco:

     {
         "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)",
         "value": [
         {
             "name": "my-kb"
         },
         {
             "name": "my-kb-2"
         }
         ]
     }
    
  2. Uzyskaj pojedynczą definicję bazy wiedzy, aby sprawdzić odwołania do źródeł wiedzy.

    ### Get a knowledge base definition
    GET {{search-endpoint}}/knowledgebases/{{knowledge-base-name}}?api-version=2025-11-01-preview
    api-key: {{api-key}}
    

    Przykładowa odpowiedź może wyglądać następująco:

     {
       "name": "my-kb",
       "description": null,
       "retrievalInstructions": null,
       "answerInstructions": null,
       "outputMode": null,
       "knowledgeSources": [
         {
           "name": "my-blob-ks",
         }
       ],
       "models": [],
       "encryptionKey": null,
       "retrievalReasoningEffort": {
         "kind": "low"
       }
     }
    
  3. Usuń bazę wiedzy lub zaktualizuj bazę wiedzy , usuwając źródło wiedzy, jeśli masz wiele źródeł. W tym przykładzie pokazano usunięcie.

    ### Delete a knowledge base
    DELETE {{search-endpoint}}/knowledgebases/{{knowledge-base-name}}?api-version=2025-11-01-preview
    api-key: {{api-key}}
    
  4. Usuń źródło wiedzy.

    ### Delete a knowledge source
    DELETE {{search-endpoint}}/knowledgesources/{{knowledge-source-name}}?api-version=2025-11-01-preview
    api-key: {{api-key}}