メモ
Azure AI 検索は、Azure ポータル、REST API、およびAzure SDKから使用できます。 また、Foundry IQ は、エンタープライズ コンテンツを、Microsoft Foundry ポータルのエージェントの再利用可能なアクセス許可に対応したナレッジ ベースに変換するマネージド ナレッジ レイヤーです。
Important
機能、またはマークされたプロパティ (プレビュー) は、サービス レベル アグリーメントの対象ではなく、運用環境のワークロードには推奨されず、一般公開される前に変更または制約される可能性があります。 Azure AI 検索 プレビューの用語は、スタンドアロンでも一般公開されている機能の一部でも、すべてのプレビュー機能に適用されます。
検索インデックスナレッジ ソースは、インデックス付きテキストやベクターを含む既存のAzure AI 検索 インデックスをエージェント検索パイプラインに接続します。 ナレッジ ソース は個別に作成され、 ナレッジ ベースで参照され、実行時にナレッジ ベースの クエリが実行されるときに、グラウンド データとして使用されます。
利用サポート
| Azure Portal | Microsoft Foundry ポータル | .NET SDK | Python SDK | Java SDK | JavaScript SDK | REST API |
|---|---|---|---|---|---|---|
| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
前提 条件
エージェント検索を提供する任意のリージョンの Azure AI 検索 サービス。
セマンティック構成を持つプレーン テキストまたはベクター コンテンツを含む検索インデックス。 エージェント検索のインデックス条件を確認します。 インデックスは、ナレッジ ベースと同じ検索サービス上にある必要があります。
ナレッジソースを作成する権限。 ユーザー アカウントに割り当てられた Search Service 共同作成者ロール (推奨) を使用してキーレス認証を構成するか、管理者 API キーを使用します。
必須
Azure.Search.Documentsパッケージ:2026-08-01-preview機能の場合、最新のプレビュー パッケージ:dotnet add package Azure.Search.Documents --prerelease2026-04-01機能の場合、最新の安定したパッケージ:dotnet add package Azure.Search.Documents
キーレス認証の場合、
Azure.Identityパッケージは次のようになります。dotnet add package Azure.Identity
必須
azure-search-documentsパッケージ:2026-08-01-preview機能の場合、最新のプレビュー パッケージ:pip install --pre azure-search-documents2026-04-01機能の場合、最新の安定したパッケージ:pip install azure-search-documents
キーレス認証の場合、
azure-identityパッケージは次のようになります。pip install azure-identity
必要な Search Service REST API のバージョン:
プレビュー機能の場合: 2026-08-01-preview
一般公開されている機能の場合: 2026-04-01
キーレス認証の場合は、各 HTTP 要求の
AuthorizationヘッダーにMicrosoft Entra ID トークンを含めます。
Limitations
エージェント型検索では、検索要求において、基盤となるインデックスのスコアリング プロファイル (defaultScoringProfile を含む) が反映されることはありません。 応答を取得しても、 @search.rerankerBoostedScoreは表示されません。
既存のナレッジ ソースを確認する
ナレッジ ソースは、最上位の再利用可能なオブジェクトです。 既存のナレッジ ソースについて知ることは、新しいオブジェクトを再利用または名前付けする場合に役立ちます。
次のコードを実行して、名前と種類でナレッジ ソースを一覧表示します。
// 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}}
リファレンス:ナレッジ ソース - リスト
名前で 1 つのナレッジ ソースを返して、その 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));
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}}
リファレンス:ナレッジ ソース - 取得
次の JSON は、検索インデックスのナレッジ ソースに対する応答の例です。 ナレッジ ソースは、1 つのインデックス名と、クエリに含めるインデックス内のフィールドを指定していることに注意してください。
{
"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": []
}
}
ナレッジ ソースを作成する
検索インデックスのナレッジ ソースを作成するには、次のコードを実行します。
メモ
2026-05-01-preview API バージョン以降、検索インデックスのナレッジ ソースでは、semanticConfigurationNameは省略可能です。 以前のバージョンの API では、引き続き semanticConfigurationNameが必要です。 ナレッジ ソースで古い API バージョンと新しい API バージョンの両方をサポートする必要がある場合は、 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" }
]
}
}
リファレンス:ナレッジ ソース - 作成または更新
ナレッジ ソースにベース フィルターを保持する (プレビュー)
2026-05-01-preview API バージョン以降、検索インデックスナレッジ ソースは、baseFilter プロパティを使用して既定のフィルターを保持できます。 ナレッジ ソースを使用するすべての取得要求に同じフィルター式を適用する必要がある場合は、 baseFilter を使用します。そのため、呼び出し元はすべての呼び出しでフィルターを繰り返す必要はありません。
次の例では、検索インデックスナレッジ ソースにベース フィルターを格納します。
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);
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)
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'"
}
}
リファレンス:ナレッジ ソース - 作成または更新
取得時に、 knowledgeSourceParams.filterAddOn は、格納されている基本フィルターに要求固有の制約を追加します。
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'"
}
]
}
有効なフィルターは次のように構成されます。
baseFilter AND filterAddOn
フィルターは ANDと組み合わされているため、 filterAddOn は永続化された基本フィルターのみを絞り込むことができます。 置き換えたり、広げたりすることはできません。
クエリ ヒントの構成 (プレビュー)
2026-08-01-preview API バージョン以降、クエリ ヒントはクエリ計画モデルをガイドし、ユーザーの要求からフィルターとランク付けのブーストを生成します。 フィルターとブーストの両方を保持できる既定のヒントを searchIndexParameters.queryHintsに格納します。
次の例では、フィルター可能なproductFamily フィールドと検索可能なlanguage フィールドを持つ、product-docs-indexのナレッジ ソースに 1 つのフィルター ヒントと 1 つのfieldValueブーストを格納します。
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);
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)
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."
}]
}
}
}
リファレンス:ナレッジ ソース - 作成または更新
次の要件に従って各ヒントを構成します。
| Hint | フィールド要件 |
fieldValues 動作 |
コレクションの上限 |
|---|---|---|---|
| フィルター |
field は、フィルター可能なインデックス フィールドを識別する必要があります。 |
必須。 許可される値の完全なセットを一覧表示します。 要求がリストされた値にマップされない場合、プランナーはそのフィールドでフィルター処理しないように指示されます。 | 一意のフィールドを持つ最大 5 つのヒント。 各値には最大 128 文字を含め、1 つのヒント内のすべての値には最大 2,048 文字を組み合わせることができます。 |
fieldValue ブースト |
field は、言語、標準、または既定のアナライザーを使用する検索可能なフィールドを識別する必要があります。 |
省略可能な例。 省略した場合は、 boostInstructions を使用して、要求から選択する値を説明します。 |
一意のフィールドを持つ最大 5 つのヒント。 各ヒントには最大 20 個の値を含めることができます。値あたり 128 文字、合計 1,024 文字です。 |
multiWordExpression ブースト |
fieldを省略します。 インデックスには、言語、標準、または既定のアナライザーを使用する検索可能なフィールドが少なくとも 1 つ含まれている必要があります。 |
ドメイン固有のフレーズの省略可能な例。 | 1 つのヒント。 最大 20 個の値を含めることができます。値あたり 128 文字、合計 1,024 文字です。 |
どちらのブーストの種類でも、 boost が必要であり、 1.0より大きい有限数である必要があります。 値が大きいほど、他のドキュメントを除外することなく、一致するドキュメントのランク付けに影響が大きくなります。 省略可能な各 filterInstructions または boostInstructions 値を 1,024 文字に制限します。
個々の単語によって意味がキャプチャされないドメイン固有のフレーズには、 multiWordExpression ブーストを使用します。
fieldValuesでフレーズ例を提示するか、それらを省略して、boostInstructionsとユーザーのリクエストに基づくフレーズ選択に委ねます。
{
"boosts": [{
"kind": "multiWordExpression",
"fieldValues": ["deferred tax", "wash sale"],
"boost": 3.0,
"boostInstructions": "Boost domain terms used as complete phrases."
}]
}
クエリ ヒントを設計するときは、次の動作に注意してください。
ヒントはベスト エフォートであるため、モデルではすべての要求に対してフィルターやブーストが生成されない場合があります。 承認境界などの必要な制約の場合は、 代わりにドキュメント レベルのアクセス制御 または 決定論的フィルター を使用します。
ヒントにはモデル駆動型のクエリ計画が必要であるため、取得の理由付け作業が
minimalされている場合は適用されません。 他の作業レベルでは、格納されているqueryHintsオブジェクトにフィルターが含まれている場合、GPT-4o または GPT-4.1 ファミリ モデルは HTTP 400 を返します。 このサービスでは、queryHintOverridesを適用する前に格納されているフィルターがチェックされるため、空またはブーストのみのオーバーライドでは、この検証はバイパスされません。 保存されたfieldValueとmultiWordExpressionブーストだけでは検証はトリガーされません。生成されたフィルターは、
ANDを使用してbaseFilterとfilterAddOnと組み合わせます。 生成されたブーストは、元の用語を保持しながら、完全な Lucene 構文でクエリを書き換える。クエリ ヒントでは、インデックス付き値がグラウンドとして使用されます。 アナライザーを構成したり、言語検出を有効にしたりすることはありません。 これらの例の
language値は、通常のインデックス メタデータです。
1 つの取得要求の格納されたヒントを置き換え、生成されたフィルターまたはブーストを確認するには、「 クエリ時に保存されたクエリ ヒントをオーバーライドする (プレビュー)」を参照してください。
ナレッジ ベースに割り当てる
ナレッジ ソースに満足している場合は、 ナレッジ ベースに追加します。
ナレッジ ベースのクエリを実行する
ナレッジ ベースが構成されたら、 取得アクションまたは MCP エンドポイントを呼び出 してナレッジ ソースにクエリを実行します。
ナレッジ ソースを削除する
ナレッジ ソースを削除する前に、ナレッジ ソースを参照するすべてのナレッジ ベースを削除するか、ナレッジ ベース定義を更新して参照を削除する必要があります。 インデックスとインデクサー パイプラインを生成するナレッジ ソースの場合、 生成されたすべてのオブジェクト も削除されます。 ただし、既存のインデックスを使用してナレッジ ソースを作成した場合、インデックスは削除されません。
使用中のナレッジ ソースを削除しようとすると、アクションは失敗し、影響を受けるナレッジ ベースの一覧が返されます。
ナレッジ ソースを削除するには:
検索サービスのすべてのナレッジ ベースの一覧を取得します。
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
応答の例は次のようになります。
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }個別のナレッジベース定義を取得して、ナレッジソースの参照を確認する。
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
応答の例は次のようになります。
{ "Name": "earth-knowledge-base", "KnowledgeSources": [ { "Name": "earth-knowledge-source" } ], "Models": [ {} ], "RetrievalReasoningEffort": {}, "OutputMode": {}, "ETag": "\u00220x8DE278629D782B3\u0022", "EncryptionKey": null, "Description": null, "RetrievalInstructions": null, "AnswerInstructions": null }ナレッジ ベースを削除するか、複数のナレッジ ソースがある場合は、ナレッジ ベースを更新してソースを削除します。 この例では、削除を示します。
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
ナレッジ ソースを削除します。
await indexClient.DeleteKnowledgeSourceAsync(knowledgeSourceName); System.Console.WriteLine($"Knowledge source '{knowledgeSourceName}' deleted successfully.");Reference:SearchIndexClient
検索サービスのすべてのナレッジ ベースの一覧を取得します。
# 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
応答の例は次のようになります。
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }個別のナレッジベース定義を取得して、ナレッジソースの参照を確認する。
# 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
応答の例は次のようになります。
{ "name": "my-kb", "description": null, "retrievalInstructions": null, "answerInstructions": null, "outputMode": null, "knowledgeSources": [ { "name": "my-blob-ks" } ], "models": [], "encryptionKey": null, "retrievalReasoningEffort": { "kind": "low" } }ナレッジ ベースを削除するか、複数のナレッジ ソースがある場合は、ナレッジ ベースを更新してソースを削除します。 この例では、削除を示します。
# 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
ナレッジ ソースを削除します。
# 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
検索サービスのすべてのナレッジ ベースの一覧を取得します。
### Get knowledge bases GET {{search-url}}/knowledgebases?api-version={{api-version}}&$select=name Authorization: Bearer {{token}}リファレンス:ナレッジ ベース - リスト
応答の例は次のようになります。
{ "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)", "value": [ { "name": "my-kb" }, { "name": "my-kb-2" } ] }個別のナレッジベース定義を取得して、ナレッジソースの参照を確認する。
### Get a knowledge base definition GET {{search-url}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}} Authorization: Bearer {{token}}リファレンス:ナレッジ ベース - 取得
応答の例は次のようになります。
{ "name": "my-kb", "description": null, "retrievalInstructions": null, "answerInstructions": null, "outputMode": null, "knowledgeSources": [ { "name": "my-blob-ks" } ], "models": [], "encryptionKey": null, "retrievalReasoningEffort": { "kind": "low" } }ナレッジ ベースを削除するか、複数のナレッジ ソースがある場合は、ナレッジ ベースを更新してソースを削除します。 この例では、削除を示します。
### Delete a knowledge base DELETE {{search-url}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}} Authorization: Bearer {{token}}リファレンス:ナレッジ ベース - 削除
ナレッジ ソースを削除します。
### Delete a knowledge source DELETE {{search-url}}/knowledgesources/{{knowledge-source-name}}?api-version={{api-version}} Authorization: Bearer {{token}}リファレンス:ナレッジ ソース - 削除