メモ
Azure AI 検索は、Azure ポータル、REST API、およびAzure SDKから使用できます。 また、Foundry IQ は、エンタープライズ コンテンツを、Microsoft Foundry ポータルのエージェントの再利用可能なアクセス許可に対応したナレッジ ベースに変換するマネージド ナレッジ レイヤーです。
メモ
このエージェント検索機能は、プログラムによるアクセスを介して 2026-04-01 REST API で一般提供されています。 Azure ポータルと foundry ポータルMicrosoftは、引き続きすべてのエージェント検索機能へのプレビュー専用アクセスを提供します。 移行のガイダンスについては、「 エージェントの取得コードを最新バージョンに移行する」を参照してください。
プレビュー REST API を使用する場合は、この機能ではまだ一般公開されていない機能にアクセスできます。 プレビュー機能は、サービス レベル アグリーメントなしで提供され、運用環境のワークロードには推奨されません。 詳細については、「 Microsoft Azure プレビューの追加使用条件」を参照してください。
Important
これらの機能は、2026-05-01-preview REST API の一部です。 2026-05-01-preview は、お客様の Azure サブスクリプションの一部としてお客様にライセンス供与されるものであり、Microsoft Product Terms における「Previews」に適用される条件、Microsoft Products and Services Data Protection Addendum(「DPA」)、および Supplemental Terms of Use for Microsoft Azure Previews に従うものとします。
2026-05-01-preview では、他のMicrosoft サービスやサード パーティのサービスへの接続がサポートされています。 これらのサービスの利用は各サービスの利用規約に従うものとし、データが Azure コンプライアンス境界の外部で処理または保存されたり、Azure コンプライアンス境界内に流入したりする場合があります。
2026-05-01-preview では、2026-05-01-preview 以外で設定されたアクセス許可を変更することはできません。 アクセスが制限されたコンテンツまたはアクセス許可が制限されたコンテンツで 2026-05-01-preview を使用する場合、2026-05-01-preview がそれらのアクセスまたはアクセス許可の制限に対する変更を認識する前にタイミング ラグが発生します。
データが組織のコンプライアンスと地理的境界の外部に流れるかどうか、および関連する影響、および適切なアクセス許可、境界、承認がプロビジョニングされるかどうかを管理するのは、お客様の責任です。
特定のユース ケースのコンテキストで構築したアプリケーションを慎重に確認およびテストし、すべての適切な決定とカスタマイズを行う責任があります。 これには、メタプロンプト、コンテンツ フィルター、その他の安全システムなどの独自の責任ある AI 軽減策の実装や、アプリケーションが適切な品質、信頼性、セキュリティ、信頼性の標準を満たしていることを確認する機能が含まれます。 詳細については、「Azure AI 検索透過性に関するメモを参照してください。
インデックス付き OneLake ナレッジ ソースは、Microsoft OneLake ファイルをAzure AI 検索のエージェント検索パイプラインに取り込みます。 ナレッジ ソース は個別に作成され、 ナレッジ ベースで参照され、実行時にナレッジ ベースの クエリが実行されるときに、グラウンド データとして使用されます。
インデックス付きの OneLake ナレッジ ソースを作成するときは、外部データ ソース、モデル、およびプロパティを指定して、次のAzure AI 検索 オブジェクトを自動的に生成します。
- レイクハウスを表すデータ ソース。
- レイクハウスからマルチモーダル コンテンツをチャンクし、必要に応じてベクター化するスキルセット。
- エンリッチされたコンテンツを格納し、エージェント検索の条件を満たすインデックス。
- 前のオブジェクトを使用してインデックス作成およびエンリッチメント パイプラインを駆動するインデクサー。
生成されたインデクサーは OneLake インデクサーに準拠しており、その前提条件、サポートされているタスク、サポートされているドキュメント形式、サポートされているショートカット、制限事項も OneLake ナレッジ ソースに適用されます。 詳細については、 OneLake インデクサーのドキュメント と インデクサーの制限を参照してください。 生成されたスキルセットが外部サービスを呼び出す場合、そのスキルの入力とサービスの制限も適用されます。
利用サポート
| Azure Portal | Microsoft Foundry ポータル | .NET SDK | Python SDK | Java SDK | JavaScript SDK | REST API |
|---|---|---|---|---|---|---|
| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
前提 条件
エージェント検索を提供する任意のリージョンの Azure AI 検索 サービス。
contentExtractionModeがstandardの場合は、Foundry Tools の Content Understanding でサポートされているhttps://<resource-name>.services.ai.azure.comと エンドポイント内の Microsoft Foundry リソースを使用します。 画像の言語化を有効にした場合は、埋め込みモデルをデプロイし、マルチモーダル チャット モデルをデプロイします。ナレッジソースを作成する権限。 ユーザー アカウントに割り当てられた Search Service 共同作成者ロールと検索インデックス データ共同作成者ロール (推奨) を使用してキーレス認証を構成するか、API キーを使用します。
ナレッジ ソースが埋め込みまたは画像の言語化に対して Azure OpenAI モデルを指定する場合、検索サービスには、Microsoft Foundry リソースに対する
Cognitive Services User アクセス許可を持つ管理 ID が必要です。
必須
Azure.Search.Documentsパッケージ:2026-05-01-preview 機能の場合、最新のプレビュー パッケージ:
dotnet add package Azure.Search.Documents --prerelease2026-04-01 機能の場合、最新の安定したパッケージ:
dotnet add package Azure.Search.Documents
必須
azure-search-documentsパッケージ:2026-05-01-preview 機能の場合、最新のプレビュー パッケージ:
pip install --pre azure-search-documents2026-04-01 機能の場合、最新の安定したパッケージ:
pip install azure-search-documents
必要な REST API バージョン:
プレビュー機能の場合: Search Service 2026-05-01-preview
一般公開されている機能の場合: Search Service 2026-04-01
既存のナレッジ ソースを確認する
ナレッジ ソースは、最上位の再利用可能なオブジェクトです。 既存のナレッジ ソースについて知ることは、新しいオブジェクトを再利用または名前付けする場合に役立ちます。
次のコードを実行して、名前と種類でナレッジ ソースを一覧表示します。
// 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 は、インデックス付き 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": "<your-foundry-resource-endpoint>",
"deploymentId": "gpt-5-mini",
"apiKey": "<REDACTED>",
"modelName": "gpt-5-mini"
}
},
"ingestionSchedule": null,
"aiServices": {
"uri": "<your-foundry-resource-endpoint>",
"apiKey": "<REDACTED>"
}
},
"createdResources": {
"datasource": "my-onelake-ks-datasource",
"indexer": "my-onelake-ks-indexer",
"skillset": "my-onelake-ks-skillset",
"index": "my-onelake-ks-index"
}
}
}
ナレッジ ソースを作成する
次のコードを実行して、インデックス付き OneLake ナレッジ ソースを作成します。
// Create an indexed OneLake knowledge source
using Azure.Search.Documents.Indexes;
using Azure.Search.Documents.Indexes.Models;
using Azure.Search.Documents.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
},
IngestionPermissionOptions = new List<KnowledgeSourceIngestionPermissionOption>
{
KnowledgeSourceIngestionPermissionOption.UserIds,
KnowledgeSourceIngestionPermissionOption.GroupIds
}
};
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.");
Reference:SearchIndexClient、 IndexedOneLakeKnowledgeSource
# Create an indexed 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(
resource_url = "aoai_endpoint",
deployment_name = "aoai_gpt_deployment",
model_name = "aoai_gpt_model",
api_key = "aoai_api_key"
)
),
embedding_model = KnowledgeSourceAzureOpenAIVectorizer(
azure_open_ai_parameters=AzureOpenAIVectorizerParameters(
resource_url = "aoai_endpoint",
deployment_name = "aoai_embedding_deployment",
model_name = "aoai_embedding_model",
api_key = "aoai_api_key"
)
),
content_extraction_mode = KnowledgeSourceContentExtractionMode.MINIMAL,
ingestion_schedule = None,
ingestion_permission_options = ["user_ids", "group_ids"]
)
)
)
index_client.create_or_update_knowledge_source(knowledge_source)
print(f"Knowledge source '{knowledge_source.name}' created or updated successfully.")
Reference:SearchIndexClient
### Create an indexed OneLake knowledge source
PUT {{search-url}}/knowledgesources/my-onelake-ks?api-version=2026-05-01-preview
Authorization: Bearer {{token}}
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": {
"kind": "azureOpenAI",
"azureOpenAIParameters": {
"resourceUri": "{{aoai-endpoint}}",
"deploymentId": "{{aoai-gpt-deployment}}",
"modelName": "{{aoai-gpt-model}}"
}
},
"embeddingModel": {
"kind": "azureOpenAI",
"azureOpenAIParameters": {
"resourceUri": "{{aoai-endpoint}}",
"deploymentId": "{{aoai-embedding-deployment}}",
"modelName": "{{aoai-embedding-model}}"
}
},
"contentExtractionMode": "minimal",
"ingestionSchedule": null,
"ingestionPermissionOptions": ["userIds", "groupIds"]
}
}
}
リファレンス:ナレッジ ソース - 作成または更新
メモ
ingestionPermissionOptionsを使用してドキュメント レベルのアクセス許可を適用するには、2026-05-01-preview API バージョンが必要です。 2026-04-01 では、この機能はサポートされていません。
インジェストの状態を確認する
インデクサー パイプラインを生成して検索インデックスを作成するナレッジ ソースにおいて、ナレッジ ソースの種類や詳細なインデックス作成エラーを含む、インジェストの進捗と健全性を監視するために、次のコードを実行します。
using Azure.Search.Documents.Indexes;
using System.Text.Json;
var indexClient = new SearchIndexClient(new Uri(searchEndpoint), new AzureKeyCredential(apiKey));
// Get knowledge source ingestion 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);
Reference:SearchIndexClient
# Check knowledge source ingestion status
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"))
status = index_client.get_knowledge_source_status("knowledge_source_name")
print(json.dumps(status.as_dict(), indent=2))
Reference:SearchIndexClient
### Check knowledge source ingestion status
GET {{search-url}}/knowledgesources/{{knowledge-source-name}}/status?api-version={{api-version}}
Authorization: Bearer {{token}}
Content-Type: application/json
リファレンス:ナレッジ ソース - 状態の取得
インジェスト パラメーターを含み、コンテンツをアクティブに取り込む要求の応答は、次の例のようになります。
{
"kind": "azureBlob",
"synchronizationStatus": "active",
"synchronizationInterval": "1d",
"currentSynchronizationState": {
"startTime": "2026-04-10T19:30:00Z",
"itemUpdatesProcessed": 1100,
"itemsUpdatesFailed": 100,
"itemsSkipped": 1100,
"errors": [
{
"key": "Item id 1",
"docURL": "https://contoso.blob.core.windows.net/contracts/2024/Q4/doc-00023.csv",
"statusCode": 400,
"componentName": "DocumentExtraction.AzureBlob.MyDataSource",
"errorMessage": "Could not read the value of column 'foo' at index '0'.",
"details": "The file could not be parsed.",
"documentationLink": "https://go.microsoft.com/fwlink/?linkid=2049388"
}
]
},
"lastSynchronizationState": {
"status": "partialSuccess",
"startTime": "2026-04-09T19:30:00Z",
"endTime": "2026-04-09T19:40:01Z",
"itemUpdatesProcessed": 1100,
"itemsUpdatesFailed": 100,
"itemsSkipped": 1100,
"errors": null
},
"statistics": {
"totalSynchronizations": 25,
"averageSynchronizationDuration": "00:15:20",
"averageItemsProcessedPerSynchronization": 500
}
}
メモ
ドキュメント レベルのエラーの詳細を含む kind プロパティと currentSynchronizationState.errors[] 配列は、2026-04-01 API バージョン以降で使用できます。 以前のバージョンの API では、これらのフィールドは返されません。
lastSynchronizationState.status フィールドは、2026-04-01 でも新しく追加されています。
生成されたオブジェクトを確認する
このナレッジ ソースを作成すると、Azure AI 検索はデータ ソース、スキルセット、インデクサー、およびインデックスを自動的に生成します。 作成応答では、 createdResourcesの下の各オブジェクトが一覧表示されます。
これらのオブジェクトは固定テンプレートに従って生成され、その名前はナレッジ ソースの名前に基づいています。 オブジェクト名は変更できません。 変更によってインデクサー パイプラインを中断するエラーや非互換性が発生する可能性があるので、これらのオブジェクトを直接編集することは避けてください。
Azure ポータルを使用して、オブジェクトの作成を検証できます。 ワークフローは次のとおりです。
インデクサーで成功または失敗のメッセージを確認します。 接続エラーまたはクォータ エラーがここに表示されます。
データ ソースを調べて、データ ストアへの接続を確認します。 接続では、ナレッジ ソースの構成方法に応じて、接続文字列またはマネージド ID が使用されます。
スキルセットを調べて、コンテンツがどのようにチャンクされ、必要に応じてベクター化されているかを確認します。
検索可能なフィールドやフィルター可能なフィールド、類似性検索用のベクターを格納するフィールドなど、コンテンツのインデックス付けと取得用の公開方法を確認するには、インデックスを確認します。 Search Explorer を使用して、生成されたインデックスに対してクエリを実行します。
ナレッジ ベースに割り当てる
ナレッジ ソースに満足している場合は、 ナレッジ ベースに追加します。
インデックス付き OneLake ナレッジ ソースを指定するナレッジ ベースの場合は、必ず includeReferenceSourceData を true に設定してください。 この手順は、引用文献にソース ドキュメントの URL をプルするために必要です。
ナレッジ ベースのクエリを実行する
ナレッジ ベースを構成したら、 取得アクションまたは MCP エンドポイントを呼び出 してナレッジ ソースにクエリを実行します。 シナリオに一致する構成を選択します。
ドキュメント レベルのアクセス許可を適用する (プレビュー)
ドキュメント レベルのアクセス許可を適用するには、このナレッジ ソースを作成するときに ingestionPermissionOptions を設定し、取得要求にユーザーのアクセス トークンを含めます。 詳細については、「 クエリ時にアクセス許可を適用する (プレビュー)」を参照してください。
ドキュメントに埋め込まれた画像を表示する (プレビュー)
回答合成応答でドキュメント埋め込み画像 (図やスキャンなど) を表示するには、このナレッジ ソースで assetStore を構成し、ナレッジ ベースで画像の提供を有効にします。
ingestionPermissionOptionsが構成されている場合、イメージ サービスはサポートされません。 詳細については、「エージェント型検索でドキュメントに埋め込まれた画像を表示する (プレビュー)」を参照してください。
ナレッジ ソースを削除する
ナレッジ ソースを削除する前に、ナレッジ ソースを参照するすべてのナレッジ ベースを削除するか、ナレッジ ベース定義を更新して参照を削除する必要があります。 インデックスとインデクサー パイプラインを生成するナレッジ ソースの場合、 生成されたすべてのオブジェクト も削除されます。 ただし、既存のインデックスを使用してナレッジ ソースを作成した場合、インデックスは削除されません。
使用中のナレッジ ソースを削除しようとすると、アクションは失敗し、影響を受けるナレッジ ベースの一覧が返されます。
ナレッジ ソースを削除するには:
検索サービスのすべてのナレッジ ベースの一覧を取得します。
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}}リファレンス:ナレッジ ソース - 削除