メモ
一部のエージェント検索機能は、2026-04-01 REST API バージョンで一般公開されています。 ただし、この機能はプレビューのままであり、プレビュー REST API バージョンが必要です。 プレビュー機能は、サービス レベル アグリーメントなしで提供され、運用環境のワークロードには推奨されません。 詳細については、「Microsoft Azure プレビューの使用条件を参照してください。
リモートのSharePointナレッジソースは、Copilot取得APIを使用して、Microsoft 365内のSharePointから直接テキストコンテンツにクエリを行います。 検索インデックスや接続文字列は必要ありません。 テキスト コンテンツのみがクエリされ、使用量はMicrosoft 365とCopilot ライセンスを通じて課金されます。
サイトを制限したり、検索を制限したりするには、 フィルター式 を URL、日付範囲、ファイルの種類、およびその他のメタデータによってスコープに設定します。 呼び出し元のIDは、AzureテナントとMicrosoft 365テナントの両方で認識される必要があります。これは、取得エンジンがユーザーに代わってSharePointをクエリするためです。
他のナレッジ ソースと同様に、knowledge ベースでリモートSharePointナレッジ ソースを指定し、エージェントまたはチャットボットがクエリ時に retrieve アクション を呼び出すときに、その結果をグラウンド データとして使用します。
利用サポート
| Azure portal | Microsoft Foundry ポータル | .NET SDK | Python SDK | Java SDK | JavaScript SDK | REST API |
|---|---|---|---|---|---|---|
| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
前提 条件
Azure AI 検索 を利用できる任意のエージェンティック検索を提供する領域。
Azure と同じ Microsoft Entra ID テナントの下にある Microsoft 365 テナントに SharePoint が含まれています。
SharePoint コンテンツへのクエリ時間アクセスのためのMicrosoft 365 Copilot ライセンス。
Azure AI 検索でオブジェクトを作成および使用するためのアクセス許可。 ロールベースのアクセスをお勧めしますが、ロールの割り当てが不可能な場合は API キーを使用できます。 詳細については、「 検索サービスへの接続」を参照してください。
- 最新の
Azure.Search.Documentsプレビュー パッケージ:dotnet add package Azure.Search.Documents --prerelease
- 最新の
azure-search-documentsプレビュー パッケージ:pip install --pre azure-search-documents
- Search Service REST API の 2025-11-01-preview バージョン。
制限
Copilot 取得 API の次の制限は、リモート SharePointナレッジ ソースに適用されます。
Copilot コネクタやOneDrive コンテンツはサポートされません。 コンテンツはSharePointサイトからのみ取得されます。
1 時間あたりユーザーあたり 200 要求の制限。
クエリ文字の制限は 1,500 文字です。
ハイブリッド クエリは、.doc、.docx、.pptx、.pdf、.aspx、.one というファイル拡張子でのみサポートされます。
マルチモーダル取得 (表、画像、グラフを含む非テキスト コンテンツ) はサポートされていません。
クエリからの結果は最大 25 個です。
結果は、Copilot取得APIによって順序がない形で返されます。
無効なキーワード クエリ言語 (KQL) フィルター式は無視され、クエリはフィルターなしで引き続き実行されます。
既存のナレッジ ソースを確認する
ナレッジ ソースは、最上位の再利用可能なオブジェクトです。 既存のナレッジ ソースについて知ることは、新しいオブジェクトを再利用または名前付けする場合に役立ちます。
次のコードを実行して、名前と種類でナレッジ ソースを一覧表示します。
// 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
api-key: {{api-key}}
リファレンス:ナレッジ ソース - リスト
名前で 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}}
api-key: {{api-key}}
リファレンス:ナレッジ ソース - 取得
次の JSON は、リモート SharePointナレッジ ソースに対する応答の例です。
{
"name": "my-sharepoint-ks",
"kind": "remoteSharePoint",
"description": "A sample remote SharePoint knowledge source",
"encryptionKey": null,
"remoteSharePointParameters": {
"filterExpression": "filetype:docx",
"containerTypeId": null,
"resourceMetadata": [
"Author",
"Title"
]
}
}
ナレッジ ソースを作成する
次のコードを実行して、リモートSharePointナレッジ ソースを作成します。
// Create a remote SharePoint 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), credential);
var knowledgeSource = new RemoteSharePointKnowledgeSource(name: "my-remote-sharepoint-ks")
{
Description = "This knowledge source queries .docx files in a trusted Microsoft 365 tenant.",
RemoteSharePointParameters = new RemoteSharePointKnowledgeSourceParameters()
{
FilterExpression = "filetype:docx",
ResourceMetadata = { "Author", "Title" }
}
};
await indexClient.CreateOrUpdateKnowledgeSourceAsync(knowledgeSource);
Console.WriteLine($"Knowledge source '{knowledgeSource.Name}' created or updated successfully.");
Reference:SearchIndexClient、 RemoteSharePointKnowledgeSource
# Create a remote SharePoint knowledge source
from azure.core.credentials import AzureKeyCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import RemoteSharePointKnowledgeSource, RemoteSharePointKnowledgeSourceParameters
index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key"))
knowledge_source = RemoteSharePointKnowledgeSource(
name = "my-remote-sharepoint-ks",
description= "This knowledge source queries .docx files in a trusted Microsoft 365 tenant.",
encryption_key = None,
remote_share_point_parameters = RemoteSharePointKnowledgeSourceParameters(
filter_expression = "filetype:docx",
resource_metadata = ["Author", "Title"],
container_type_id = None
)
)
index_client.create_or_update_knowledge_source(knowledge_source)
print(f"Knowledge source '{knowledge_source.name}' created or updated successfully.")
Reference:SearchIndexClient
### Create a remote SharePoint knowledge source
PUT {{search-url}}/knowledgesources/my-remote-sharepoint-ks?api-version=2025-11-01-preview
api-key: {{api-key}}
Content-Type: application/json
{
"name": "my-remote-sharepoint-ks",
"kind": "remoteSharePoint",
"description": "This knowledge source queries .docx files in a trusted Microsoft 365 tenant.",
"encryptionKey": null,
"remoteSharePointParameters": {
"filterExpression": "filetype:docx",
"resourceMetadata": [ "Author", "Title" ],
"containerTypeId": null
}
}
リファレンス:ナレッジ ソース - 作成または更新
ソース固有のプロパティ
次のプロパティを渡して、リモート SharePointナレッジ ソースを作成できます。
| 名前 | 説明 | タイプ | 編集可能 | 必須 |
|---|---|---|---|---|
Name |
ナレッジ ソースの名前。ナレッジ ソース コレクション内で一意である必要があり、Azure AI 検索内のオブジェクトのに関するガイドラインに従う必要があります。 | 文字列 | いいえ | はい |
Description |
ナレッジ ソースの説明。 | 文字列 | はい | いいえ |
EncryptionKey |
ナレッジ ソース内の機密情報を暗号化するための カスタマー マネージド キー 。 | オブジェクト | はい | いいえ |
RemoteSharePointParameters |
リモート SharePoint ナレッジ ソースに固有のパラメーター: FilterExpression、ResourceMetadata、および ContainerTypeId。 |
オブジェクト | いいえ | いいえ |
FilterExpression |
SharePoint KQL で記述された式。コンテンツへのサイトとパスを指定するために使用されます。 | 文字列 | はい | いいえ |
ResourceMetadata |
標準メタデータ フィールド (作成者、ファイル名、作成日、コンテンツ タイプ、ファイルの種類) の配列。 | 配列 | はい | いいえ |
ContainerTypeId |
SharePoint Embedded 接続のコンテナー ID。 指定しない場合は、SharePoint Online が使用されます。 | 文字列 | はい | いいえ |
| 名前 | 説明 | タイプ | 編集可能 | 必須 |
|---|---|---|---|---|
name |
ナレッジ ソースの名前。ナレッジ ソース コレクション内で一意である必要があり、Azure AI 検索内のオブジェクトのに関するガイドラインに従う必要があります。 | 文字列 | いいえ | はい |
description |
ナレッジ ソースの説明。 | 文字列 | はい | いいえ |
encryption_key |
ナレッジ ソース内の機密情報を暗号化するための カスタマー マネージド キー 。 | オブジェクト | はい | いいえ |
remote_share_point_parameters |
リモート SharePoint ナレッジ ソースに固有のパラメーター: filter_expression、resource_metadata、および container_type_id。 |
オブジェクト | いいえ | いいえ |
filter_expression |
SharePoint KQL で記述された式。コンテンツへのサイトとパスを指定するために使用されます。 | 文字列 | はい | いいえ |
resource_metadata |
標準メタデータ フィールド (作成者、ファイル名、作成日、コンテンツ タイプ、ファイルの種類) の配列。 | 配列 | はい | いいえ |
container_type_id |
SharePoint Embedded 接続のコンテナー ID。 指定しない場合は、SharePoint Online が使用されます。 | 文字列 | はい | いいえ |
| 名前 | 説明 | タイプ | 編集可能 | 必須 |
|---|---|---|---|---|
name |
ナレッジ ソースの名前。ナレッジ ソース コレクション内で一意である必要があり、Azure AI 検索内のオブジェクトのに関するガイドラインに従う必要があります。 | 文字列 | いいえ | はい |
kind |
このケースでは、remoteSharePoint されるナレッジソースの種類。 |
文字列 | いいえ | はい |
description |
ナレッジ ソースの説明。 | 文字列 | はい | いいえ |
encryptionKey |
ナレッジ ソース内の機密情報を暗号化するための カスタマー マネージド キー 。 | オブジェクト | はい | いいえ |
remoteSharePointParameters |
リモート SharePoint ナレッジ ソースに固有のパラメーター: filterExpression、resourceMetadata、および containerTypeId。 |
オブジェクト | いいえ | いいえ |
filterExpression |
SharePoint KQL で記述された式。コンテンツへのサイトとパスを指定するために使用されます。 | 文字列 | はい | いいえ |
resourceMetadata |
標準メタデータ フィールド (作成者、ファイル名、作成日、コンテンツ タイプ、ファイルの種類) の配列。 | 配列 | はい | いいえ |
containerTypeId |
SharePoint Embedded 接続のコンテナー ID。 指定しない場合は、SharePoint Online が使用されます。 | 文字列 | はい | いいえ |
フィルター式の例
filterExpression では、すべてのSharePointプロパティがサポートされているわけではありません。 サポートされているプロパティの一覧については、 API リファレンスを参照してください。 クエリ可能なプロパティについては、「 クエリ可能」を参照してください。
KQL フィルターの詳細については、構文リファレンスを参照してください。
| 例 | フィルター式 |
|---|---|
| ID で単一のサイトに絞り込む | "filterExpression": "SiteID:\"00aa00aa-bb11-cc22-dd33-44ee44ee44ee\"" |
| ID で複数のサイトにフィルターをかける | "filterExpression": "SiteID:\"00aa00aa-bb11-cc22-dd33-44ee44ee44ee\" OR SiteID:\"11bb11bb-cc22-dd33-ee44-55ff55ff55ff\"" |
| 特定のパスの下のファイルにフィルターを適用する | "filterExpression": "Path:\"https://my-demo.sharepoint.com/sites/mysite/Shared Documents/en/mydocs\"" |
| 特定の日付範囲にフィルターを適用する | "filterExpression": "LastModifiedTime >= 2024-07-22 AND LastModifiedTime <= 2025-01-08" |
| 特定のファイルの種類のファイルにフィルターを適用する | "filterExpression": "FileExtension:\"docx\" OR FileExtension:\"pdf\" OR FileExtension:\"pptx\"" |
| 特定の情報保護ラベルのファイルへのフィルター処理 | "filterExpression": "InformationProtectionLabelId:\"f0ddcc93-d3c0-4993-b5cc-76b0a283e252\"" |
ナレッジ ベースに割り当てる
ナレッジ ソースに問題がない場合は、次の手順に進 みます。ナレッジ ベースでナレッジ ソースを指定します。
ナレッジ ベースのクエリを実行する
ナレッジ ベースを構成したら、retrieve アクションを使用してSharePointコンテンツに対してクエリを実行します。 リモート SharePointには、クエリ時間のフィルター処理、クエリの定式化、応答フィールド、アクセス許可の適用に対するソース固有の動作があります。
クエリ時に KQL フィルターを適用する
取得要求のFilterExpressionAddOnにKnowledgeSourceParamsを渡して、クエリ時に KQL フィルターを適用できます。 取得要求に FilterExpressionAddOn を指定し、ナレッジ ソース定義に FilterExpression を指定すると、フィルターは AND になります。
var retrievalRequest = new KnowledgeBaseRetrievalRequest();
retrievalRequest.Messages.Add(
new KnowledgeBaseMessage(
content: new[] {
new KnowledgeBaseMessageTextContent("contoso product planning")
}
) { Role = "user" }
);
retrievalRequest.KnowledgeSourceParams.Add(
new RemoteSharePointKnowledgeSourceParams("my-remote-sharepoint-ks")
{
FilterExpressionAddOn = "filetype:docx"
}
);
var result = await kbClient.RetrieveAsync(
retrievalRequest, xMsQuerySourceAuthorization: token
);
Reference:KnowledgeBaseRetrievalClient、 KnowledgeBaseRetrievalRequest
取得要求のfilter_expression_add_onにknowledge_source_paramsを渡して、クエリ時に KQL フィルターを適用できます。 取得要求に filter_expression_add_on を指定し、ナレッジ ソース定義に filter_expression を指定すると、フィルターは AND になります。
from azure.search.documents.knowledgebases.models import (
KnowledgeBaseMessage,
KnowledgeBaseMessageTextContent,
KnowledgeBaseRetrievalRequest,
RemoteSharePointKnowledgeSourceParams,
)
request = KnowledgeBaseRetrievalRequest(
messages=[
KnowledgeBaseMessage(
role="user",
content=[
KnowledgeBaseMessageTextContent(
text="contoso product planning"
)
],
)
],
knowledge_source_params=[
RemoteSharePointKnowledgeSourceParams(
knowledge_source_name="my-remote-sharepoint-ks",
filter_expression_add_on="filetype:docx",
)
],
)
result = kb_client.retrieve(
retrieval_request=request,
x_ms_query_source_authorization=token,
)
Reference:KnowledgeBaseRetrievalClient、 KnowledgeBaseRetrievalRequest
取得要求のfilterExpressionAddOnにknowledgeSourceParamsを渡して、クエリ時に KQL フィルターを適用できます。 取得要求に filterExpressionAddOn を指定し、ナレッジ ソース定義に filterExpression を指定すると、フィルターは AND になります。
### Retrieve knowledge base content
POST {{search-url}}/knowledgebases/{{knowledge-base-name}}/retrieve?api-version=2025-11-01-preview
Authorization: Bearer {{accessToken}}
Content-Type: application/json
x-ms-query-source-authorization: {{user-access-token}}
{
"messages": [
{
"role": "user",
"content": [
{ "type": "text", "text": "contoso product planning" }
]
}
],
"knowledgeSourceParams": [
{
"knowledgeSourceName": "my-remote-sharepoint-ks",
"kind": "remoteSharePoint",
"filterExpressionAddOn": "filetype:docx"
}
]
}
リファレンス:ナレッジの取得 - 取得
有効なクエリを記述する
コンテンツ自体について質問するクエリは、ファイルが配置されている場所や最後に更新された日時に関する質問よりも効果的です。 たとえば、「Ignite 2024 のキーノートドキュメントはどこにあるか」では、コンテンツ自体がその場所を開示していないため、結果が返されない場合があります。 メタデータの FilterExpression は、ファイルの場所または日付固有のクエリに適したアプローチです。
コンテンツ自体について質問するクエリは、ファイルが配置されている場所や最後に更新された日時に関する質問よりも効果的です。 たとえば、「Ignite 2024 のキーノートドキュメントはどこにあるか」では、コンテンツ自体がその場所を開示していないため、結果が返されない場合があります。 メタデータの filter_expression は、ファイルの場所または日付固有のクエリに適したアプローチです。
コンテンツ自体について質問するクエリは、ファイルが配置されている場所や最後に更新された日時に関する質問よりも効果的です。 たとえば、「Ignite 2024 のキーノートドキュメントはどこにあるか」では、コンテンツ自体がその場所を開示していないため、結果が返されない場合があります。 メタデータの filterExpression は、ファイルの場所または日付固有のクエリに適したアプローチです。
より効果的な質問は、「Ignite 2024のキーノートドキュメントとは」です。 応答には、合成された回答、クエリ アクティビティとトークンの数、および URL とその他のメタデータが含まれます。
SharePoint固有の応答フィールド
リモート SharePointの結果には、resourceMetadata、webUrl、searchSensitivityLabelInfo など、他のナレッジ ソースの種類には表示されないフィールドが含まれます。
{
"resourceMetadata": {
"Author": "Nuwan Amarathunga;Nurul Izzati",
"Title": "Ignite 2024 Keynote Address"
},
"rerankerScore": 2.489522,
"webUrl": "https://contoso-my.sharepoint.com/keynotes/Documents/Keynote-Ignite-2024.docx",
"searchSensitivityLabelInfo": {
"displayName": "Confidential\\Contoso Extended",
"sensitivityLabelId": "aaaaaaaa-0b0b-1c1c-2d2d-333333333333",
"tooltip": "Data is classified and protected.",
"priority": 5,
"color": "#FF8C00",
"isEncrypted": true
}
}
クエリ時にアクセス許可を適用する
リモートSharePointナレッジ ソースでは、クエリ時にSharePointアクセス許可を適用できます。 このフィルター処理を有効にするには、取得要求にエンド ユーザーのアクセス トークンを含めます。 取得エンジンはトークンを Copilot 取得 API に渡します。この API は、SharePointクエリを実行し、ユーザーがアクセスできるコンテンツのみを返します。 SharePoint権限とMicrosoft Purview秘密度ラベルが尊重されます。
リモート SharePointでは検索インデックスが使用されないため、インジェスト時のアクセス許可の構成は必要ありません。 アクセス トークンが唯一の要件です。
トークンを渡す手順については、「 クエリ時にアクセス許可を適用する」を参照してください。
ナレッジ ソースを削除する
ナレッジ ソースを削除する前に、ナレッジ ソースを参照するすべてのナレッジ ベースを削除するか、ナレッジ ベース定義を更新して参照を削除する必要があります。 インデックスとインデクサー パイプラインを生成するナレッジ ソースの場合、 生成されたすべてのオブジェクト も削除されます。 ただし、既存のインデックスを使用してナレッジ ソースを作成した場合、インデックスは削除されません。
使用中のナレッジ ソースを削除しようとすると、アクションは失敗し、影響を受けるナレッジ ベースの一覧が返されます。
ナレッジ ソースを削除するには:
検索サービスのすべてのナレッジ ベースの一覧を取得します。
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
応答の例は次のようになります。
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);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 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-url}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}} 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-url}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}} api-key: {{api-key}}リファレンス:ナレッジ ベース - 削除
ナレッジ ソースを削除します。
### Delete a knowledge source DELETE {{search-url}}/knowledgesources/{{knowledge-source-name}}?api-version={{api-version}} api-key: {{api-key}}リファレンス:ナレッジ ソース - 削除
関連コンテンツ
- Azure AI 検索 でのエージェンティックリトリーバル
Agentic RAG: Azure AI 検索 (YouTube ビデオ) - Azure エージェント検索を特徴とする OpenAI デモ