Définir une base de connaissances
Pour définir la base de connaissances et les projections à créer dans celle-ci, vous devez créer un objet knowledgeStore dans l’ensemble de compétences qui spécifie la chaîne de connexion de stockage Azure pour le compte de stockage dans lequel vous souhaitez créer des projections et les définitions des projections elles-mêmes.
Vous pouvez définir des projections d’objets, des projections de tables et des projections de fichiers en fonction de ce que vous souhaitez stocker. Toutefois, notez que vous devez définir une projection distincte pour chaque type de projection, même si chaque projection contient des listes pour les tables, les objets et les fichiers. Les types de projections s’excluent mutuellement dans une définition de projection, de sorte qu’une seule des listes de types de projections peut être remplie. Si vous créez les trois types de projections, vous devez inclure une projection pour chaque type, comme illustré ici :
"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/*"
}
]
}
]
}
Pour les projections d’objets et de fichiers, le conteneur spécifié est créé s’il n’existe pas déjà. Une table de stockage Azure est créée pour chaque projection de table, avec les champs mappés et un champ clé unique portant le nom spécifié dans la propriété generatedKeyName. Ces champs clés peuvent être utilisés pour définir des jointures relationnelles entre les tables pour l’analyse et la création de rapports.