ナレッジ ストアを定義する
ナレッジ ストアとその中に作成するプロジェクションを定義するには、プロジェクションを作成するストレージ アカウントの Azure Storage 接続文字列と、プロジェクション自体の定義を指定する knowledgeStore オブジェクトをスキルセットに作成する必要があります。
格納する内容に応じて、オブジェクト プロジェクション、テーブル プロジェクション、およびファイル プロジェクションを定義できます。ただし、各プロジェクションにテーブル、オブジェクト、およびファイルのリストが含まれている場合でも、プロジェクションの種類ごとに個別の "プロジェクション" を定義する必要があることに注意してください。 プロジェクション定義で複数のプロジェクト タイプを同時に使用することはできないため、設定できるのは、プロジェクト タイプ リストのうちの 1 つだけです。 3 種類のプロジェクションをすべて作成する場合は、次に示すように、タイプごとにプロジェクションを含める必要があります。
"knowledgeStore": {
"storageConnectionString": "<storage_connection_string>",
"projections": [
{
"objects": [
{
"storageContainer": "<container>",
"source": "/projection"
}
],
"tables": [],
"files": []
},
{
"objects": [],
"tables": [
{
"tableName": "KeyPhrases",
"generatedKeyName": "keyphrase_id",
"source": "projection/key_phrases/*",
},
{
"tableName": "docs",
"generatedKeyName": "document_id",
"source": "/projection"
}
],
"files": []
},
{
"objects": [],
"tables": [],
"files": [
{
"storageContainer": "<container>",
"source": "/document/normalized_images/*"
}
]
}
]
}
オブジェクトとファイルのプロジェクションの場合、指定されたコンテナーが存在しない場合は作成されます。 Azure Storage テーブルは、テーブル プロジェクションごとに作成され、マップされたフィールドと、generatedKeyName プロパティで指定された名前の一意のキー フィールドが含まれます。 これらのキー フィールドは、分析とレポートのためにテーブル間のリレーショナル結合を定義するために使用できます。