Vytvoření znalostního zdroje pro index vyhledávání

Poznámka

Azure AI Vyhledávač je k dispozici prostřednictvím portálu Azure, rozhraní REST API a Sady Azure SDK. Podporuje také Foundry IQ, spravovanou znalostní vrstvu, která transformuje podnikový obsah na opakovaně použitelné znalostní báze s podporou oprávnění pro agenty na portálu Microsoft Foundry.

Important

Na funkce, možnosti nebo vlastnosti označené jako (Preview) se nevztahuje smlouva o úrovni služeb, nejsou doporučené pro produkční úlohy a mohou se změnit nebo být omezeny dříve, než budou obecně k dispozici. Podmínky Azure AI Vyhledávač Preview platí pro všechny funkce ve verzi Preview, ať už jsou samostatné nebo součástí obecně dostupné funkce.

Zdroj znalostí vyhledávacího indexu propojuje existující index služby Azure AI Vyhledávač, včetně jeho indexovaného textu a vektorů, s agentním kanálem načítání. Zdroje znalostí se vytvářejí nezávisle, odkazují na znalostní bázi a používají se jako podkladová data při dotazování znalostní báze za běhu.

Podpora využití

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

Požadavky

  • Požadovaný balíček Azure.Search.Documents:

    • Pro funkce 2026-08-01-preview je k dispozici nejnovější balíček Preview: dotnet add package Azure.Search.Documents --prerelease

    • Pro funkce 2026-04-01: nejnovější stabilní balíček: dotnet add package Azure.Search.Documents

  • Balíček Azure.Identity pro bezklíčové ověřování: dotnet add package Azure.Identity

  • Požadovaný balíček azure-search-documents:

    • Pro funkce 2026-08-01-preview je k dispozici nejnovější balíček Preview: pip install --pre azure-search-documents

    • Pro funkce 2026-04-01: nejnovější stabilní balíček: pip install azure-search-documents

  • Balíček azure-identity pro bezklíčové ověřování: pip install azure-identity

  • Požadovaná verze rozhraní REST API vyhledávací služby:

  • Pro bezklíčové ověřování uveďte v Authorization hlavičce každého požadavku HTTP token Microsoft Entra ID.

Limitations

Agentové načítání nezajišťuje, aby požadavky na načtení respektovaly profily hodnocení základního indexu, včetně defaultScoringProfile. Načtené odpovědi se nezobrazují @search.rerankerBoostedScore.

Kontrola existujících zdrojů znalostí

Zdroj znalostí je objekt nejvyšší úrovně, který lze opakovaně použít. Znalost existujících zdrojů znalostí je užitečná pro opakované použití nebo pojmenování nových objektů.

Spuštěním následujícího kódu zobrazíte seznam zdrojů znalostí podle názvu a 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}");
}

Reference:SearchIndexClient

# List knowledge sources by name and type
from azure.core.credentials import AzureKeyCredential
from azure.search.documents.indexes import SearchIndexClient

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

for ks in index_client.list_knowledge_sources():
    print(f"  - {ks.name} ({ks.kind})")

Reference:SearchIndexClient

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

Referenční informace:Zdroje znalostí – seznam

Pokud chcete zkontrolovat jeho definici JSON, můžete také vrátit jeden zdroj znalostí podle názvu.

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

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

// Specify the knowledge source name to retrieve
string ksNameToGet = "earth-knowledge-source";

// Get its definition
var knowledgeSourceResponse = await indexClient.GetKnowledgeSourceAsync(ksNameToGet);
var ks = knowledgeSourceResponse.Value;

// Serialize to JSON for display
var jsonOptions = new JsonSerializerOptions 
{ 
    WriteIndented = true,
    DefaultIgnoreCondition = System.Text.Json.Serialization.JsonIgnoreCondition.Never
};
Console.WriteLine(JsonSerializer.Serialize(ks, ks.GetType(), jsonOptions));

Reference:SearchIndexClient

# Get a knowledge source definition
from azure.core.credentials import AzureKeyCredential
from azure.search.documents.indexes import SearchIndexClient
import json

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

ks = index_client.get_knowledge_source("knowledge_source_name")
print(json.dumps(ks.as_dict(), indent = 2))

Reference:SearchIndexClient

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

Referenční informace:Zdroje znalostí – Získání

Následující JSON je ukázková odpověď pro zdroj znalostí indexu vyhledávání. Všimněte si, že zdroj znalostí určuje jeden název indexu a pole v indexu, která se mají zahrnout do dotazu.

{
  "name": "my-search-index-ks",
  "kind": "searchIndex",
  "description": "A sample search index knowledge source.",
  "encryptionKey": null,
  "searchIndexParameters": {
    "searchIndexName": "my-search-index",
    "semanticConfigurationName": null,
    "sourceDataFields": [],
    "searchFields": []
  }
}

Vytvoření zdroje znalostí

Spuštěním následujícího kódu vytvořte zdroj znalostí indexu vyhledávání.

Poznámka

Počínaje verzí rozhraní API 2026-05-01-preview je semanticConfigurationName volitelné ve zdrojích znalostí indexu pro vyhledávání. Starší verze rozhraní API stále vyžadují semanticConfigurationName. Pokud váš zdroj znalostí potřebuje podporovat starší i novější verze rozhraní API, pokračujte v zadávání semanticConfigurationName.

// Create a search index knowledge source
using Azure.Search.Documents.Indexes;
using Azure.Search.Documents.Indexes.Models;
using Azure.Identity;

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

var indexKnowledgeSource = new SearchIndexKnowledgeSource(
    name: knowledgeSourceName,
    searchIndexParameters: new SearchIndexKnowledgeSourceParameters(searchIndexName: indexName)
    {
        SearchFields = { new SearchIndexFieldReference(name: "page_chunk") },
        SourceDataFields = { new SearchIndexFieldReference(name: "id"), new SearchIndexFieldReference(name: "page_chunk"), new SearchIndexFieldReference(name: "page_number") }
    }
);

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

Reference:SearchIndexClient, SearchIndexKnowledgeSource

# Create a search index knowledge source
from azure.identity import DefaultAzureCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import SearchIndexKnowledgeSource, SearchIndexKnowledgeSourceParameters, SearchIndexFieldReference

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

knowledge_source = SearchIndexKnowledgeSource(
    name = "my-search-index-ks",
    description= "This knowledge source pulls from an existing index designed for agentic retrieval.",
    encryption_key = None,
    search_index_parameters = SearchIndexKnowledgeSourceParameters(
        search_index_name = "search_index_name",
        source_data_fields = [
            SearchIndexFieldReference(name="description"),
            SearchIndexFieldReference(name="category"),
        ],
        search_fields = [
            SearchIndexFieldReference(name="id")
        ],
    )
)

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

Reference:SearchIndexClient

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

{
    "name": "my-search-index-ks",
    "kind": "searchIndex",
    "description": "This knowledge source pulls from an existing index designed for agentic retrieval.",
    "encryptionKey": null,
    "searchIndexParameters": {
        "searchIndexName": "<index-name>",
        "sourceDataFields": [
          { "name": "description" },
          { "name": "category" }
        ]
    }
}

Referenční informace:Zdroje znalostí – Vytvoření nebo aktualizace

Zachovat základní filtr ve zdroji znalostí (Preview)

Počínaje verzí rozhraní API 2026-05-01-preview může zdroj znalostí indexu vyhledávání zachovat výchozí filtr prostřednictvím vlastnosti baseFilter. Použijte baseFilter, když má stejný výraz filtru platit pro každý požadavek na načtení, který používá zdroj znalostí, aby volající nemuseli filtr opakovat při každém volání.

Následující příklad uloží výchozí filtr ve zdroji znalostí pro vyhledávací index.

var knowledgeSource = new SearchIndexKnowledgeSource(
    name: "public-docs-ks",
    searchIndexParameters: new SearchIndexKnowledgeSourceParameters(searchIndexName: "public-docs-index")
    {
        BaseFilter = "isPublished eq true and accessScope eq 'public'"
    }
);

await indexClient.CreateOrUpdateKnowledgeSourceAsync(knowledgeSource);

Referenční informace:SearchIndexKnowledgeSourceParameters

knowledge_source = SearchIndexKnowledgeSource(
    name="public-docs-ks",
    search_index_parameters=SearchIndexKnowledgeSourceParameters(
        search_index_name="public-docs-index",
        base_filter="isPublished eq true and accessScope eq 'public'",
    ),
)

index_client.create_or_update_knowledge_source(knowledge_source)

Referenční informace:SearchIndexKnowledgeSourceParameters

PUT {{search-endpoint}}/knowledgesources/public-docs-ks?api-version=2026-08-01-preview
Content-Type: application/json
Authorization: Bearer {{search-access-token}}

{
  "name": "public-docs-ks",
  "kind": "searchIndex",
  "searchIndexParameters": {
    "searchIndexName": "public-docs-index",
    "baseFilter": "isPublished eq true and accessScope eq 'public'"
  }
}

Referenční informace:Zdroje znalostí – Vytvoření nebo aktualizace

Při načtení knowledgeSourceParams.filterAddOn přidá k uloženému základnímu filtru omezení specifická pro daný požadavek:

var retrievalRequest = new KnowledgeBaseRetrievalRequest();
retrievalRequest.KnowledgeSourceParams.Add(
    new SearchIndexKnowledgeSourceParams("public-docs-ks")
    {
        FilterAddOn = "category eq 'Benefits'"
    }
);
request = KnowledgeBaseRetrievalRequest(
    knowledge_source_params=[
        SearchIndexKnowledgeSourceParams(
            knowledge_source_name="public-docs-ks",
            filter_add_on="category eq 'Benefits'",
        ),
    ],
)
{
  "knowledgeSourceParams": [
    {
      "knowledgeSourceName": "public-docs-ks",
      "kind": "searchIndex",
      "filterAddOn": "category eq 'Benefits'"
    }
  ]
}

Efektivní filtr se skládá takto:

baseFilter AND filterAddOn

Vzhledem k tomu, že se filtry kombinují s AND, filterAddOn mohou pouze zúžit trvalý základní filtr. Nemůže to nahradit ani rozšířit.

Konfigurovat nápovědy k dotazům (verze Preview)

Počínaje verzí rozhraní API 2026-08-01-preview pomáhají nápovědy dotazů modelu plánování dotazů generovat filtry a navýšení hodnocení na základě požadavku uživatele. Ukládejte výchozí pokyny do searchIndexParameters.queryHints, který může obsahovat filtry i posílení.

Následující příklad ukládá jeden tip filtru a jeden fieldValue boost na zdroj znalostí pro product-docs-index, který má filtrovatelné pole a prohledávatelné productFamilylanguage pole.

using System;
using Azure.Identity;
using Azure.Search.Documents.Indexes;
using Azure.Search.Documents.Indexes.Models;

var endpoint = new Uri("<search-endpoint>");
var indexClient = new SearchIndexClient(
    endpoint,
    new DefaultAzureCredential());

var queryHints = new SearchIndexKnowledgeSourceQueryHints();
queryHints.Filters.Add(
    new SearchIndexKnowledgeSourceFilterHint(
        "productFamily",
        ["Model-X100", "Model-X200"])
    {
        FilterInstructions =
            "Filter only when the user names a model."
    });

var languageBoost =
    new SearchIndexKnowledgeSourceFieldValueBoost(
        "language",
        2.0);
languageBoost.FieldValues.Add("en-US");
languageBoost.FieldValues.Add("ja-JP");
languageBoost.BoostInstructions =
    "Prefer the language requested by the user.";
queryHints.Boosts.Add(languageBoost);

var knowledgeSource = new SearchIndexKnowledgeSource(
    "product-docs-ks",
    new SearchIndexKnowledgeSourceParameters(
        "product-docs-index")
    {
        QueryHints = queryHints
    });

await indexClient.CreateOrUpdateKnowledgeSourceAsync(
    knowledgeSource);

Referenční informace:SearchIndexKnowledgeSourceParameters

from azure.identity import DefaultAzureCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import (
    SearchIndexKnowledgeSource,
    SearchIndexKnowledgeSourceFieldValueBoost,
    SearchIndexKnowledgeSourceFilterHint,
    SearchIndexKnowledgeSourceParameters,
    SearchIndexKnowledgeSourceQueryHints,
)

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

query_hints = SearchIndexKnowledgeSourceQueryHints(
    filters=[
        SearchIndexKnowledgeSourceFilterHint(
            field="productFamily",
            field_values=["Model-X100", "Model-X200"],
            filter_instructions=(
                "Filter only when the user names a model."
            ),
        )
    ],
    boosts=[
        SearchIndexKnowledgeSourceFieldValueBoost(
            field="language",
            field_values=["en-US", "ja-JP"],
            boost=2.0,
            boost_instructions=(
                "Prefer the language requested by the user."
            ),
        )
    ],
)

knowledge_source = SearchIndexKnowledgeSource(
    name="product-docs-ks",
    search_index_parameters=SearchIndexKnowledgeSourceParameters(
        search_index_name="product-docs-index",
        query_hints=query_hints,
    ),
)

index_client.create_or_update_knowledge_source(knowledge_source)

Referenční informace:SearchIndexKnowledgeSourceParameters

PUT {{search-endpoint}}/knowledgesources('product-docs-ks')?api-version=2026-08-01-preview
Content-Type: application/json
Authorization: Bearer {{search-access-token}}

{
  "name": "product-docs-ks",
  "kind": "searchIndex",
  "searchIndexParameters": {
    "searchIndexName": "product-docs-index",
    "queryHints": {
      "filters": [{
        "field": "productFamily",
        "fieldValues": ["Model-X100", "Model-X200"],
        "filterInstructions": "Filter only when the user names a model."
      }],
      "boosts": [{
        "kind": "fieldValue",
        "field": "language",
        "fieldValues": ["en-US", "ja-JP"],
        "boost": 2.0,
        "boostInstructions": "Prefer the language requested by the user."
      }]
    }
  }
}

Referenční informace:Zdroje znalostí – Vytvoření nebo aktualizace

Nakonfigurujte jednotlivé rady podle následujících požadavků:

Hint Požadavky na pole fieldValues Chování Limity kolekcí
Filtr field musí identifikovat filtrovatelné pole indexu. Required. Uveďte vyčerpávající sadu povolených hodnot. Pokud se požadavek nenamapuje na uvedenou hodnotu, plánovač bude instruován, aby toto pole nefiltroval. Až pět tipů s jedinečnými poli Každá hodnota může obsahovat až 128 znaků a všechny hodnoty v jedné nápovědě můžou obsahovat až 2 048 znaků zkombinované.
fieldValue zvýšení field musí identifikovat prohledávatelné pole, které používá jazyk, standardní nebo výchozí analyzátor. Volitelné příklady. Pokud je vynecháte, použijte boostInstructions k vysvětlení hodnoty, kterou chcete vybrat z požadavku. Až pět tipů s jedinečnými poli Každá nápověda může obsahovat až 20 hodnot, přičemž každá z nich může mít maximálně 128 znaků a dohromady mohou mít maximálně 1 024 znaků.
multiWordExpression zvýšení Vynechat field. Index musí obsahovat alespoň jedno prohledávatelné pole, které používá jazyk, standardní nebo výchozí analyzátor. Volitelné příklady frází specifických pro doménu Jeden tip. Může obsahovat až 20 hodnot, po 128 znacích na každou hodnotu a celkem 1 024 znaků.

Pro oba typy navýšení je boost vyžadováno a musí jít o konečné číslo větší než 1.0. Vyšší hodnoty poskytují odpovídající dokumenty větší vliv na řazení bez vyloučení jiných dokumentů. Omezte každou volitelnou filterInstructions hodnotu nebo boostInstructions hodnotu na 1 024 znaků.

multiWordExpression Pro fráze specifické pro doménu použijte podporu, jejichž význam není zachycený jednotlivými slovy. Uveďte ukázkové fráze v fieldValues, nebo je vynechte a nechte boostInstructions a požadavek uživatele určovat výběr frází:

{
  "boosts": [{
    "kind": "multiWordExpression",
    "fieldValues": ["deferred tax", "wash sale"],
    "boost": 3.0,
    "boostInstructions": "Boost domain terms used as complete phrases."
  }]
}

Při návrhu tipů pro dotazy mějte na paměti následující chování:

  • Nápovědy fungují v režimu best effort, takže model nemusí pro každý požadavek vygenerovat filtr ani boost. V případě požadovaných omezení, jako jsou hranice autorizace, použijte místo toho řízení přístupu na úrovni dokumentu nebo deterministický filtr .

  • Nápovědy vyžadují plánování dotazů řízené modelem, takže se nepoužívají, pokud je míra uvažování při načítání minimal. Na jiných úrovních úsilí vrátí model rodiny GPT-4o nebo GPT-4.1 hodnotu HTTP 400, pokud uložený queryHints objekt obsahuje filtr. Služba před použitím queryHintOverrides kontroluje uložené filtry, takže tuto validaci neobejde ani prázdné přepsání, ani přepsání obsahující pouze boosty. Samotné uložené fieldValue a multiWordExpression boosts neaktivují ověření.

  • Vygenerované filtry se kombinují s baseFilter a filterAddOn pomocí AND. Vygenerovaný boost přepíše dotaz do úplné syntaxe Lucene a zároveň zachová původní termíny.

  • Nápovědy k dotazům používají indexované hodnoty jako základ. Nenakonfigurují analyzátory ani neumožňují rozpoznávání jazyka. Hodnoty language v těchto příkladech jsou běžná metadata indexu.

Pokud chcete pro jeden požadavek na načtení nahradit uložené nápovědy a ověřit vygenerovaný filtr nebo posílení, přečtěte si téma Přepsání uložených nápověd dotazu v době dotazu (Preview).

Přiřazení ke znalostní bázi

Pokud jste s zdrojem znalostí spokojení, přidejte ho do znalostní báze.

Dotazování znalostní báze

Po nakonfigurování znalostní báze zavolejte akci načtení nebo koncový bod MCP a dotazujte se na zdroj znalostí.

Odstranění zdroje znalostí

Než budete moct odstranit zdroj znalostí, musíte odstranit jakoukoli znalostní bázi, která na ni odkazuje, nebo aktualizovat definici znalostní báze, aby se odkaz odebral. Pro zdroje znalostí, které generují kanál indexu a indexeru, se odstraní také všechny vygenerované objekty . Pokud jste ale k vytvoření zdroje znalostí použili existující index, index se neodstraní.

Pokud se pokusíte odstranit zdroj znalostí, který se používá, akce selže a vrátí seznam ovlivněných znalostních bází.

Odstranění zdroje znalostí:

  1. Získejte seznam všech znalostních bází ve vyhledávací službě.

    using Azure.Search.Documents.Indexes;
    
    var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential);
    var knowledgeBases = indexClient.GetKnowledgeBasesAsync();
    
    Console.WriteLine("Knowledge Bases:");
    
    await foreach (var kb in knowledgeBases)
    {
        Console.WriteLine($"  - {kb.Name}");
    }
    

    Reference:SearchIndexClient

    Příklad odpovědi může vypadat takto:

     {
         "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)",
         "value": [
         {
             "name": "my-kb"
         },
         {
             "name": "my-kb-2"
         }
         ]
     }
    
  2. Získejte individuální definici znalostní báze a zkontrolujte odkazy na zdroje znalostí.

    using Azure.Search.Documents.Indexes;
    using System.Text.Json;
    
    var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential);
    
    // Specify the knowledge base name to retrieve
    string kbNameToGet = "earth-knowledge-base";
    
    // Get a specific knowledge base definition
    var knowledgeBaseResponse = await indexClient.GetKnowledgeBaseAsync(kbNameToGet);
    var kb = knowledgeBaseResponse.Value;
    
    // Serialize to JSON for display
    string json = JsonSerializer.Serialize(kb, new JsonSerializerOptions { WriteIndented = true });
    Console.WriteLine(json);
    

    Reference:SearchIndexClient

    Příklad odpovědi může vypadat takto:

     {
       "Name": "earth-knowledge-base",
       "KnowledgeSources": [
         {
           "Name": "earth-knowledge-source"
         }
       ],
       "Models": [
         {}
       ],
       "RetrievalReasoningEffort": {},
       "OutputMode": {},
       "ETag": "\u00220x8DE278629D782B3\u0022",
       "EncryptionKey": null,
       "Description": null,
       "RetrievalInstructions": null,
       "AnswerInstructions": null
     }
    
  3. Odstraňte znalostní bázi nebo pokud máte více zdrojů znalostí, aktualizujte znalostní bázi tak, aby zdroj odebral. Tento příklad ukazuje odstranění.

    using Azure.Search.Documents.Indexes;
    var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential);
    
    await indexClient.DeleteKnowledgeBaseAsync(knowledgeBaseName);
    System.Console.WriteLine($"Knowledge base '{knowledgeBaseName}' deleted successfully.");
    

    Reference:SearchIndexClient

  4. Odstraňte zdroj znalostí.

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

    Reference:SearchIndexClient

  1. Získejte seznam všech znalostních bází ve vyhledávací službě.

    # Get knowledge bases
    from azure.core.credentials import AzureKeyCredential
    from azure.search.documents.indexes import SearchIndexClient
    
    index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key"))
    
    print("Knowledge Bases:")
    for kb in index_client.list_knowledge_bases():
        print(f"  - {kb.name}")
    

    Reference:SearchIndexClient

    Příklad odpovědi může vypadat takto:

     {
         "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)",
         "value": [
         {
             "name": "my-kb"
         },
         {
             "name": "my-kb-2"
         }
         ]
     }
    
  2. Získejte individuální definici znalostní báze a zkontrolujte odkazy na zdroje znalostí.

    # Get a knowledge base definition
    from azure.core.credentials import AzureKeyCredential
    from azure.search.documents.indexes import SearchIndexClient
    
    index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key"))
    kb = index_client.get_knowledge_base("knowledge_base_name")
    print(kb)
    

    Reference:SearchIndexClient

    Příklad odpovědi může vypadat takto:

     {
       "name": "my-kb",
       "description": null,
       "retrievalInstructions": null,
       "answerInstructions": null,
       "outputMode": null,
       "knowledgeSources": [
         {
           "name": "my-blob-ks"
         }
       ],
       "models": [],
       "encryptionKey": null,
       "retrievalReasoningEffort": {
         "kind": "low"
       }
     }
    
  3. Odstraňte znalostní bázi nebo pokud máte více zdrojů znalostí, aktualizujte znalostní bázi tak, aby zdroj odebral. Tento příklad ukazuje odstranění.

    # Delete a knowledge base
    from azure.core.credentials import AzureKeyCredential 
    from azure.search.documents.indexes import SearchIndexClient
    
    index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key"))
    index_client.delete_knowledge_base("knowledge_base_name")
    print(f"Knowledge base deleted successfully.")
    

    Reference:SearchIndexClient

  4. Odstraňte zdroj znalostí.

    # Delete a knowledge source
    from azure.core.credentials import AzureKeyCredential 
    from azure.search.documents.indexes import SearchIndexClient
    
    index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key"))
    index_client.delete_knowledge_source("knowledge_source_name")
    print(f"Knowledge source deleted successfully.")
    

    Reference:SearchIndexClient

  1. Získejte seznam všech znalostních bází ve vyhledávací službě.

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

    Referenční informace:Znalostní báze – seznam

    Příklad odpovědi může vypadat takto:

     {
         "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)",
         "value": [
         {
             "name": "my-kb"
         },
         {
             "name": "my-kb-2"
         }
         ]
     }
    
  2. Získejte individuální definici znalostní báze a zkontrolujte odkazy na zdroje znalostí.

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

    Referenční informace:Znalostní báze – Získat

    Příklad odpovědi může vypadat takto:

     {
       "name": "my-kb",
       "description": null,
       "retrievalInstructions": null,
       "answerInstructions": null,
       "outputMode": null,
       "knowledgeSources": [
         {
           "name": "my-blob-ks"
         }
       ],
       "models": [],
       "encryptionKey": null,
       "retrievalReasoningEffort": {
         "kind": "low"
       }
     }
    
  3. Odstraňte znalostní bázi nebo pokud máte více zdrojů znalostí, aktualizujte znalostní bázi tak, aby zdroj odebral. Tento příklad ukazuje odstranění.

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

    Referenční informace:Znalostní báze – Odstranění

  4. Odstraňte zdroj znalostí.

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

    Referenční informace:Zdroje znalostí – Odstranění