Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 17 additions & 2 deletions AIDevGallery/Samples/WCRAPIs/AppIndexCapability.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,14 @@ protected override async Task LoadModelAsync(SampleNavigationParameters samplePa
{
await Task.Run(async () =>
{
// GetOrCreateIndex uses default options (all capabilities enabled).
// When using GetOrCreateIndexWithOptions, be aware of coupling rules:
// - Suppressing TextLexical is only honored when TextSemantic is also Suppressed;
// otherwise TextLexical suppression is silently treated as Default.
// - ImageOcr and ImageSemantic are independent; both must be Suppressed
// to fully disable image content.
// - Suppressing all text or all image capabilities makes that content kind
// unsupported (regions return UnsupportedContentKind).
var result = AppContentIndexer.GetOrCreateIndex("indexCapabilityIndex");

if (!result.Succeeded)
Expand Down Expand Up @@ -119,6 +127,10 @@ private async void LoadAppIndexCapabilities()

// Each status will be one of: Unknown, Initialized, Initializing, Suppressed, Unsupported, DisabledByPolicy, InitializationError
// If status is Initialized, that capability is ready for use
//
// Coupling rule: TextLexical suppression is only honored when
// TextSemantic is also Suppressed. If TextSemantic is Default or
// Required, TextLexical=Suppressed is silently treated as Default.
if (capabilities.GetCapabilityState(IndexCapability.TextLexical).InitializationStatus == IndexCapabilityInitializationStatus.Initialized)
{
indexLexicalCapabilityResultText.Text = "Available";
Expand All @@ -139,7 +151,10 @@ private async void LoadAppIndexCapabilities()
unavailable.Add("TextSemantic");
}

if (capabilities.GetCapabilityState(IndexCapability.ImageSemantic).InitializationStatus == IndexCapabilityInitializationStatus.Initialized)
// ImageOcr and ImageSemantic are independent capabilities; suppressing
// one does not affect the other. Both must be Suppressed to fully disable
// image content support.
if (capabilities.GetCapabilityState(IndexCapability.ImageOcr).InitializationStatus == IndexCapabilityInitializationStatus.Initialized)
{
indexOCRCapabilityResultText.Text = "Available";
}
Expand All @@ -149,7 +164,7 @@ private async void LoadAppIndexCapabilities()
unavailable.Add("ImageOcr");
}

if (capabilities.GetCapabilityState(IndexCapability.ImageOcr).InitializationStatus == IndexCapabilityInitializationStatus.Initialized)
if (capabilities.GetCapabilityState(IndexCapability.ImageSemantic).InitializationStatus == IndexCapabilityInitializationStatus.Initialized)
{
indexSemanticImageCapabilityResultText.Text = "Available";
}
Expand Down
7 changes: 7 additions & 0 deletions AIDevGallery/Samples/WCRAPIs/KnowledgeRetrieval.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,13 @@ await Task.Run(async () =>
}

// Load AppContentIndexer
// GetOrCreateIndex uses default options (all capabilities enabled).
// To selectively suppress capabilities, use GetOrCreateIndexWithOptions.
// Coupling rules to keep in mind:
// - TextLexical suppression is only honored when TextSemantic is also
// Suppressed (semantic text requires the lexical pipeline).
// - ImageOcr and ImageSemantic are independent; both must be
// Suppressed to fully disable image content.
var result = AppContentIndexer.GetOrCreateIndex("knowledgeRetrievalIndex");

if (!result.Succeeded)
Expand Down
7 changes: 7 additions & 0 deletions AIDevGallery/Samples/WCRAPIs/SemanticSearch.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,13 @@ protected override async Task LoadModelAsync(SampleNavigationParameters samplePa
{
await Task.Run(async () =>
{
// GetOrCreateIndex uses default options (all capabilities enabled).
// To selectively suppress capabilities, use GetOrCreateIndexWithOptions.
// Coupling rules to keep in mind:
// - TextLexical suppression is only honored when TextSemantic is also
// Suppressed (semantic text requires the lexical pipeline).
// - ImageOcr and ImageSemantic are independent; both must be
// Suppressed to fully disable image content.
var result = AppContentIndexer.GetOrCreateIndex("semanticSearchIndex");

if (!result.Succeeded)
Expand Down