Important
Bing検索でのグラウンド処理や、Bingカスタム検索によるグラウンド処理を使用する Web ナレッジ ソースは、Bing利用規約と Microsoft のプライバシーに関する声明を使用した Grounding によって管理されるファースト パーティの消費サービスです。
Microsoft Data Protection 補遺は、Web ナレッジ ソースに送信されるデータには適用されません。 顧客が Web ナレッジ ソースを使用する場合、顧客データは Azure のコンプライアンスと地理的境界の外側に流れます。 これはまた、Web ナレッジ ソースを使用すると、必要に応じて、データ主権とスクリーニング/市民権ベースのサポートを含めるために、Government Community Cloud のセキュリティとコンプライアンスに関するすべてのコミットメントが放棄されることを意味します。
Web ナレッジ ソースの使用にはコストが発生します。 価格の詳細については、こちらをご覧ください。
Azure 管理者が Web ナレッジ ソースの使用へのアクセスを管理する方法について説明します。
注
現在、この機能はパブリック プレビュー段階にあります。 このプレビュー版はサービス レベル アグリーメントなしで提供されています。運用環境のワークロードに使用することはお勧めできません。 特定の機能はサポート対象ではなく、機能が制限されることがあります。 詳細については、「 Microsoft Azure プレビューの追加使用条件」を参照してください。
Web Knowledge Source を使用すると、エージェント検索パイプラインで Microsoft Bingからリアルタイムの Web データを取得できます。 ナレッジ ソース は個別に作成され、 ナレッジ ベースで参照され、エージェントまたはチャットボットがクエリ時に 取得アクション を呼び出すときに、グラウンド データとして使用されます。
Bingカスタム検索は、常に Web ナレッジ ソースの検索プロバイダーです。 代替の検索プロバイダーやエンジンを指定することはできませんが、など、特定https://learn.microsoft.com含めたり除外したりすることはできます。 ドメインが指定されていない場合、Web ナレッジ ソースはパブリック インターネット全体に無制限にアクセスできます。
Web ナレッジ ソースは、他のナレッジ ソースと共に最適に機能します。 独自のコンテンツで最新の回答が提供されない場合や、商用検索エンジンからの情報で結果を補足したい場合には、ウェブナレッジソースを使用します。
Web ナレッジ ソースを使用する場合は、次の点に注意してください。
応答は常に、Web からの生の検索結果ではなく、クエリに対する単一の回答です。
Web ナレッジ ソースは抽出データをサポートしていないため、ナレッジ ベースでは 回答合成 と 低または中程度の推論作業を使用する必要があります。 回答命令を定義することもできません。
[前提条件]
Web ナレッジ ソースにアクセスできる Azure サブスクリプション。 既定では、アクセスは有効になっています。 アクセスが無効になっている場合は、管理者に問い合わせてください。
エージェント検索を提供する任意のリージョンの Azure AI Search サービス。 セマンティック ランカーを有効にする必要があります。 Web ナレッジ ソースはプライベート クラウドまたはソブリン クラウドではサポートされていないため、サービスは Azure パブリック リージョンにも存在する必要があります。
.NET SDK 用の
Azure.Search.Documentsクライアント ライブラリ の最新のプレビュー バージョン。Azure AI Search でオブジェクトを作成して使用するためのアクセス許可。 ロールベースのアクセスをお勧めしますが、ロールの割り当てが不可能な場合は API キーを使用できます。 詳細については、「 検索サービスへの接続」を参照してください。
既存のナレッジ ソースを確認する
ナレッジ ソースは、最上位の再利用可能なオブジェクトです。 既存のナレッジ ソースについて知ることは、新しいオブジェクトを再利用または名前付けする場合に役立ちます。
次のコードを実行して、名前と種類でナレッジ ソースを一覧表示します。
// 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}");
}
名前で 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));
次の JSON は、Web ナレッジ ソース リソースの応答の例です。
{
"WebParameters": {
"Domains": null
},
"Name": "my-web-ks",
"Description": "A sample Web Knowledge Source.",
"EncryptionKey": null,
}
ナレッジ ソースを作成する
次のコードを実行して、Web ナレッジ ソース リソースを作成します。
// Create Web Knowledge Source
// Create a Web knowledge source
using Azure.Search.Documents.Indexes;
using Azure.Search.Documents.Indexes.Models;
using Azure;
var indexClient = new SearchIndexClient(new Uri(searchEndpoint), new AzureKeyCredential(apiKey));
var knowledgeSource = new WebKnowledgeSource(name: "my-web-ks")
{
Description = "A sample Web Knowledge Source.",
WebParameters = new WebKnowledgeSourceParameters
{
Domains = new WebKnowledgeSourceDomains
{
AllowedDomains =
{
new WebKnowledgeSourceDomain(address: "learn.microsoft.com") { IncludeSubpages = true }
},
BlockedDomains =
{
new WebKnowledgeSourceDomain(address: "bing.com") { IncludeSubpages = false }
}
}
}
};
await indexClient.CreateOrUpdateKnowledgeSourceAsync(knowledgeSource);
Console.WriteLine($"Knowledge source '{knowledgeSource.Name}' created or updated successfully.");
ソース固有のプロパティ
次のプロパティを渡して、Web ナレッジ ソース リソースを作成できます。
| 名前 | Description | タイプ | 編集可能 | 必須 |
|---|---|---|---|---|
Name |
ナレッジ ソースの名前。ナレッジ ソース コレクション内で一意である必要があり、Azure AI Search のオブジェクトの 名前付けガイドライン に従う必要があります。 | 糸 | イエス | イエス |
Description |
ナレッジ ソースの説明。 指定しない場合、Azure AI Search は既定の説明を適用します。 | 糸 | イエス | いいえ |
EncryptionKey |
ナレッジ ソース内の機密情報を暗号化するための カスタマー マネージド キー 。 | Object | イエス | いいえ |
WebParameters |
Web ナレッジ ソースに固有のパラメーター。 現時点では、これは Domainsのみです。 |
Object | イエス | いいえ |
Domains |
検索スペース内で許可またはブロックするドメイン。 既定では、ナレッジ ソースは grounding と Bing Search を使用してパブリック インターネット全体を検索します。 ドメインを指定すると、ナレッジ ソースは 、Bingカスタム検索で Grounding を 使用して、指定されたドメインに結果を制限します。 どちらの場合も、カスタム検索Bingが検索プロバイダーです。 | Object | イエス | いいえ |
AllowedDomains |
検索スペースに含めるドメイン。 ドメインごとに、address形式でwebsite.comを指定する必要があります。
IncludeSubpagesを true または false に設定して、ドメインのサブページを含めるかどうかを指定することもできます。 |
Array | イエス | いいえ |
BlockedDomains |
検索スペースから除外するドメイン。 ドメインごとに、address形式でwebsite.comを指定する必要があります。
IncludeSubpagesを true または false に設定して、ドメインのサブページを含めるかどうかを指定することもできます。 |
Array | イエス | いいえ |
ナレッジ ベースに割り当てる
ナレッジ ソースに問題がない場合は、次の手順に進 みます。ナレッジ ベースでナレッジ ソースを指定します。
ナレッジ ベースを構成したら、 取得アクション を使用してナレッジ ソースにクエリを実行します。
ナレッジ ソースを削除する
ナレッジ ソースを削除する前に、ナレッジ ソースを参照するすべてのナレッジ ベースを削除するか、ナレッジ ベース定義を更新して参照を削除する必要があります。 インデックスとインデクサー パイプラインを生成するナレッジ ソースの場合、 生成されたすべてのオブジェクト も削除されます。 ただし、既存のインデックスを使用してナレッジ ソースを作成した場合、インデックスは削除されません。
使用中のナレッジ ソースを削除しようとすると、アクションは失敗し、影響を受けるナレッジ ベースの一覧が返されます。
ナレッジ ソースを削除するには:
検索サービスのすべてのナレッジ ベースの一覧を取得します。
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}"); }応答の例は次のようになります。
Knowledge Bases: - earth-knowledge-base - hotels-sample-knowledge-base - my-demo-knowledge-base個々のナレッジベース定義を取得して、ナレッジソース参照を確認します。
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);応答の例は次のようになります。
{ "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.");ナレッジ ソースを削除します。
await indexClient.DeleteKnowledgeSourceAsync(knowledgeSourceName); System.Console.WriteLine($"Knowledge source '{knowledgeSourceName}' deleted successfully.");
Important
Bing検索でのグラウンド処理や、Bingカスタム検索によるグラウンド処理を使用する Web ナレッジ ソースは、Bing利用規約と Microsoft のプライバシーに関する声明を使用した Grounding によって管理されるファースト パーティの消費サービスです。
Microsoft Data Protection 補遺は、Web ナレッジ ソースに送信されるデータには適用されません。 顧客が Web ナレッジ ソースを使用する場合、顧客データは Azure のコンプライアンスと地理的境界の外側に流れます。 これはまた、Web ナレッジ ソースを使用すると、必要に応じて、データ主権とスクリーニング/市民権ベースのサポートを含めるために、Government Community Cloud のセキュリティとコンプライアンスに関するすべてのコミットメントが放棄されることを意味します。
Web ナレッジ ソースの使用にはコストが発生します。 価格の詳細については、こちらをご覧ください。
Azure 管理者が Web ナレッジ ソースの使用へのアクセスを管理する方法について説明します。
注
現在、この機能はパブリック プレビュー段階にあります。 このプレビュー版はサービス レベル アグリーメントなしで提供されています。運用環境のワークロードに使用することはお勧めできません。 特定の機能はサポート対象ではなく、機能が制限されることがあります。 詳細については、「 Microsoft Azure プレビューの追加使用条件」を参照してください。
Web Knowledge Source を使用すると、エージェント検索パイプラインで Microsoft Bingからリアルタイムの Web データを取得できます。 ナレッジ ソース は個別に作成され、 ナレッジ ベースで参照され、エージェントまたはチャットボットがクエリ時に 取得アクション を呼び出すときに、グラウンド データとして使用されます。
Bingカスタム検索は、常に Web ナレッジ ソースの検索プロバイダーです。 代替の検索プロバイダーやエンジンを指定することはできませんが、など、特定https://learn.microsoft.com含めたり除外したりすることはできます。 ドメインが指定されていない場合、Web ナレッジ ソースはパブリック インターネット全体に無制限にアクセスできます。
Web ナレッジ ソースは、他のナレッジ ソースと共に最適に機能します。 独自のコンテンツで最新の回答が提供されない場合や、商用検索エンジンからの情報で結果を補足したい場合には、ウェブナレッジソースを使用します。
Web ナレッジ ソースを使用する場合は、次の点に注意してください。
応答は常に、Web からの生の検索結果ではなく、クエリに対する単一の回答です。
Web ナレッジ ソースは抽出データをサポートしていないため、ナレッジ ベースでは 回答合成 と 低または中程度の推論作業を使用する必要があります。 回答命令を定義することもできません。
[前提条件]
Web ナレッジ ソースにアクセスできる Azure サブスクリプション。 既定では、アクセスは有効になっています。 アクセスが無効になっている場合は、管理者に問い合わせてください。
エージェント検索を提供する任意のリージョンの Azure AI Search サービス。 セマンティック ランカーを有効にする必要があります。 Web ナレッジ ソースはプライベート クラウドまたはソブリン クラウドではサポートされていないため、サービスは Azure パブリック リージョンにも存在する必要があります。
Python 用
azure-search-documentsクライアント ライブラリ の最新のプレビュー バージョン。Azure AI Search でオブジェクトを作成して使用するためのアクセス許可。 ロールベースのアクセスをお勧めしますが、ロールの割り当てが不可能な場合は API キーを使用できます。 詳細については、「 検索サービスへの接続」を参照してください。
既存のナレッジ ソースを確認する
ナレッジ ソースは、最上位の再利用可能なオブジェクトです。 既存のナレッジ ソースについて知ることは、新しいオブジェクトを再利用または名前付けする場合に役立ちます。
次のコードを実行して、名前と種類でナレッジ ソースを一覧表示します。
# 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))
名前で 1 つのナレッジ ソースを取得し、その 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))
次の JSON は、Web ナレッジ ソース リソースの応答の例です。
{
"name": "my-web-ks",
"kind": "web",
"description": "A sample Web Knowledge Source.",
"encryptionKey": null,
"webParameters": {
"domains": null
}
}
ナレッジ ソースを作成する
次のコードを実行して、Web ナレッジ ソース リソースを作成します。
# Create Web Knowledge Source
from azure.core.credentials import AzureKeyCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import WebKnowledgeSource, WebKnowledgeSourceParameters, WebKnowledgeSourceDomains
index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key"))
knowledge_source = WebKnowledgeSource(
name = "my-web-ks",
description = "A sample Web Knowledge Source.",
encryption_key = None,
web_parameters = WebKnowledgeSourceParameters(
domains = WebKnowledgeSourceDomains(
allowed_domains = [ { "address": "learn.microsoft.com", "include_subpages": True } ],
blocked_domains = [ { "address": "bing.com", "include_subpages": False } ]
)
)
)
index_client.create_or_update_knowledge_source(knowledge_source)
print(f"Knowledge source '{knowledge_source.name}' created or updated successfully.")
ソース固有のプロパティ
次のプロパティを渡して、Web ナレッジ ソース リソースを作成できます。
| 名前 | Description | タイプ | 編集可能 | 必須 |
|---|---|---|---|---|
name |
ナレッジ ソースの名前。ナレッジ ソース コレクション内で一意である必要があり、Azure AI Search のオブジェクトの 名前付けガイドライン に従う必要があります。 | 糸 | イエス | イエス |
description |
ナレッジ ソースの説明。 指定しない場合、Azure AI Search は既定の説明を適用します。 | 糸 | イエス | いいえ |
encryption_key |
ナレッジ ソース内の機密情報を暗号化するための カスタマー マネージド キー 。 | Object | イエス | いいえ |
web_parameters |
Web ナレッジ ソースに固有のパラメーター。 現時点では、これは domainsのみです。 |
Object | イエス | いいえ |
domains |
検索スペース内で許可またはブロックするドメイン。 既定では、ナレッジ ソースは grounding と Bing Search を使用してパブリック インターネット全体を検索します。 ドメインを指定すると、ナレッジ ソースは 、Bingカスタム検索で Grounding を 使用して、指定されたドメインに結果を制限します。 どちらの場合も、カスタム検索Bingが検索プロバイダーです。 | Object | イエス | いいえ |
allowed_domains |
検索スペースに含めるドメイン。 ドメインごとに、address形式でwebsite.comを指定する必要があります。
include_subpagesを true または false に設定して、ドメインのサブページを含めるかどうかを指定することもできます。 |
Array | イエス | いいえ |
blocked_domains |
検索スペースから除外するドメイン。 ドメインごとに、address形式でwebsite.comを指定する必要があります。
include_subpagesを true または false に設定して、ドメインのサブページを含めるかどうかを指定することもできます。 |
Array | イエス | いいえ |
ナレッジ ベースに割り当てる
ナレッジ ソースに問題がない場合は、次の手順に進 みます。ナレッジ ベースでナレッジ ソースを指定します。
ナレッジ ベースを構成したら、 取得アクション を使用してナレッジ ソースにクエリを実行します。
ナレッジ ソースを削除する
ナレッジ ソースを削除する前に、ナレッジ ソースを参照するすべてのナレッジ ベースを削除するか、ナレッジ ベース定義を更新して参照を削除する必要があります。 インデックスとインデクサー パイプラインを生成するナレッジ ソースの場合、 生成されたすべてのオブジェクト も削除されます。 ただし、既存のインデックスを使用してナレッジ ソースを作成した場合、インデックスは削除されません。
使用中のナレッジ ソースを削除しようとすると、アクションは失敗し、影響を受けるナレッジ ベースの一覧が返されます。
ナレッジ ソースを削除するには:
検索サービスのすべてのナレッジ ベースの一覧を取得します。
# 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))応答の例は次のようになります。
{ "@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 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))応答の例は次のようになります。
{ "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.")ナレッジ ソースを削除します。
# 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.")
Important
Bing検索でのグラウンド処理や、Bingカスタム検索によるグラウンド処理を使用する Web ナレッジ ソースは、Bing利用規約と Microsoft のプライバシーに関する声明を使用した Grounding によって管理されるファースト パーティの消費サービスです。
Microsoft Data Protection 補遺は、Web ナレッジ ソースに送信されるデータには適用されません。 顧客が Web ナレッジ ソースを使用する場合、顧客データは Azure のコンプライアンスと地理的境界の外側に流れます。 これはまた、Web ナレッジ ソースを使用すると、必要に応じて、データ主権とスクリーニング/市民権ベースのサポートを含めるために、Government Community Cloud のセキュリティとコンプライアンスに関するすべてのコミットメントが放棄されることを意味します。
Web ナレッジ ソースの使用にはコストが発生します。 価格の詳細については、こちらをご覧ください。
Azure 管理者が Web ナレッジ ソースの使用へのアクセスを管理する方法について説明します。
注
現在、この機能はパブリック プレビュー段階にあります。 このプレビュー版はサービス レベル アグリーメントなしで提供されています。運用環境のワークロードに使用することはお勧めできません。 特定の機能はサポート対象ではなく、機能が制限されることがあります。 詳細については、「 Microsoft Azure プレビューの追加使用条件」を参照してください。
Web Knowledge Source を使用すると、エージェント検索パイプラインで Microsoft Bingからリアルタイムの Web データを取得できます。 ナレッジ ソース は個別に作成され、 ナレッジ ベースで参照され、エージェントまたはチャットボットがクエリ時に 取得アクション を呼び出すときに、グラウンド データとして使用されます。
Bingカスタム検索は、常に Web ナレッジ ソースの検索プロバイダーです。 代替の検索プロバイダーやエンジンを指定することはできませんが、など、特定https://learn.microsoft.com含めたり除外したりすることはできます。 ドメインが指定されていない場合、Web ナレッジ ソースはパブリック インターネット全体に無制限にアクセスできます。
Web ナレッジ ソースは、他のナレッジ ソースと共に最適に機能します。 独自のコンテンツで最新の回答が提供されない場合や、商用検索エンジンからの情報で結果を補足したい場合には、ウェブナレッジソースを使用します。
Web ナレッジ ソースを使用する場合は、次の点に注意してください。
応答は常に、Web からの生の検索結果ではなく、クエリに対する単一の回答です。
Web ナレッジ ソースは抽出データをサポートしていないため、ナレッジ ベースでは 回答合成 と 低または中程度の推論作業を使用する必要があります。 回答命令を定義することもできません。
[前提条件]
Web ナレッジ ソースにアクセスできる Azure サブスクリプション。 既定では、アクセスは有効になっています。 アクセスが無効になっている場合は、管理者に問い合わせてください。
エージェント検索を提供する任意のリージョンの Azure AI Search サービス。 セマンティック ランカーを有効にする必要があります。 Web ナレッジ ソースはプライベート クラウドまたはソブリン クラウドではサポートされていないため、サービスは Azure パブリック リージョンにも存在する必要があります。
Search Service REST API の 2025-11-01-preview バージョン。
Azure AI Search でオブジェクトを作成して使用するためのアクセス許可。 ロールベースのアクセスをお勧めしますが、ロールの割り当てが不可能な場合は API キーを使用できます。 詳細については、「 検索サービスへの接続」を参照してください。
既存のナレッジ ソースを確認する
ナレッジ ソースは、最上位の再利用可能なオブジェクトです。 既存のナレッジ ソースについて知ることは、新しいオブジェクトを再利用または名前付けする場合に役立ちます。
ナレッジ ソース - Get (REST API) を使用して、名前と種類でナレッジ ソースを一覧表示します。
### List knowledge sources by name and type
GET {{search-url}}/knowledgesources?api-version=2025-11-01-preview&$select=name,kind
api-key: {{api-key}}
名前で 1 つのナレッジ ソースを取得し、その JSON 定義を確認することもできます。
### Get a knowledge source definition
GET {{search-url}}/knowledgesources/{{knowledge-source-name}}?api-version=2025-11-01-preview
api-key: {{api-key}}
次の JSON は、Web ナレッジ ソース リソースの応答の例です。
{
"name": "my-web-ks",
"kind": "web",
"description": "A sample Web Knowledge Source.",
"encryptionKey": null,
"webParameters": {
"domains": null
}
}
ナレッジ ソースを作成する
ナレッジ ソース - 作成または更新 (REST API) を使用して Web ナレッジ ソース リソースを作成します。
PUT {{search-url}}/knowledgesources/my-web-ks?api-version=2025-11-01-preview
Content-Type: application/json
api-key: {{api-key}}
{
"name": "my-web-ks",
"kind": "web",
"description": "This knowledge source pulls content from the web.",
"encryptionKey": null,
"webParameters": {
"domains": {
"allowedDomains": [ { "address": "learn.microsoft.com", "includeSubpages": true } ],
"blockedDomains": [ { "address": "bing.com", "includeSubpages": false } ]
}
}
}
ソース固有のプロパティ
次のプロパティを渡して、Web ナレッジ ソース リソースを作成できます。
| 名前 | Description | タイプ | 編集可能 | 必須 |
|---|---|---|---|---|
name |
ナレッジ ソースの名前。ナレッジ ソース コレクション内で一意である必要があり、Azure AI Search のオブジェクトの 名前付けガイドライン に従う必要があります。 | 糸 | イエス | イエス |
kind |
ナレッジ ソースの種類。この場合は web。 |
糸 | いいえ | イエス |
description |
ナレッジ ソースの説明。 指定しない場合、Azure AI Search は既定の説明を適用します。 | 糸 | イエス | いいえ |
encryptionKey |
ナレッジ ソース内の機密情報を暗号化するための カスタマー マネージド キー 。 | Object | イエス | いいえ |
webParameters |
Web ナレッジ ソースに固有のパラメーター。 現時点では、これは domainsのみです。 |
Object | イエス | いいえ |
domains |
検索スペース内で許可またはブロックするドメイン。 既定では、ナレッジ ソースは grounding と Bing Search を使用してパブリック インターネット全体を検索します。 ドメインを指定すると、ナレッジ ソースは 、Bingカスタム検索で Grounding を 使用して、指定されたドメインに結果を制限します。 どちらの場合も、カスタム検索Bingが検索プロバイダーです。 | Object | イエス | いいえ |
allowedDomains |
検索スペースに含めるドメイン。 ドメインごとに、address形式でwebsite.comを指定する必要があります。
includeSubpagesを true または false に設定して、ドメインのサブページを含めるかどうかを指定することもできます。 |
Array | イエス | いいえ |
blockedDomains |
検索スペースから除外するドメイン。 ドメインごとに、address形式でwebsite.comを指定する必要があります。
includeSubpagesを true または false に設定して、ドメインのサブページを含めるかどうかを指定することもできます。 |
Array | イエス | いいえ |
ナレッジ ベースに割り当てる
ナレッジ ソースに問題がない場合は、次の手順に進 みます。ナレッジ ベースでナレッジ ソースを指定します。
ナレッジ ベースを構成したら、 取得アクション を使用してナレッジ ソースにクエリを実行します。
ナレッジ ソースを削除する
ナレッジ ソースを削除する前に、ナレッジ ソースを参照するすべてのナレッジ ベースを削除するか、ナレッジ ベース定義を更新して参照を削除する必要があります。 インデックスとインデクサー パイプラインを生成するナレッジ ソースの場合、 生成されたすべてのオブジェクト も削除されます。 ただし、既存のインデックスを使用してナレッジ ソースを作成した場合、インデックスは削除されません。
使用中のナレッジ ソースを削除しようとすると、アクションは失敗し、影響を受けるナレッジ ベースの一覧が返されます。
ナレッジ ソースを削除するには:
検索サービスのすべてのナレッジ ベースの一覧を取得します。
### Get knowledge bases GET {{search-endpoint}}/knowledgebases?api-version=2025-11-01-preview&$select=name api-key: {{api-key}}応答の例は次のようになります。
{ "@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-endpoint}}/knowledgebases/{{knowledge-base-name}}?api-version=2025-11-01-preview api-key: {{api-key}}応答の例は次のようになります。
{ "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-endpoint}}/knowledgebases/{{knowledge-base-name}}?api-version=2025-11-01-preview api-key: {{api-key}}ナレッジ ソースを削除します。
### Delete a knowledge source DELETE {{search-endpoint}}/knowledgesources/{{knowledge-source-name}}?api-version=2025-11-01-preview api-key: {{api-key}}