Add enterprise policies for dictation data (#332953)

Fixes #331845

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
Megan Rogge
2026-08-27 16:26:57 +00:00
committed by GitHub
co-authored by Copilot
parent 2668c9fe2e
commit 33224b68a0
2 changed files with 78 additions and 2 deletions
+44
View File
@@ -734,6 +734,50 @@
"default": true,
"included": true
},
{
"key": "dictation.experimental.llmCleanup",
"name": "DictationLLMCleanup",
"category": "InteractiveSession",
"minimumVersion": "1.136",
"localization": {
"description": {
"key": "dictation.experimental.llmCleanup.policy",
"value": "Controls whether final dictation transcripts are sent to a language model for cleanup."
}
},
"type": "boolean",
"default": true,
"included": true
},
{
"key": "dictation.model",
"name": "DictationModel",
"category": "InteractiveSession",
"minimumVersion": "1.136",
"localization": {
"description": {
"key": "dictation.model.policy",
"value": "Controls the transcription model used for dictation."
},
"enumDescriptions": [
{
"key": "dictation.model.nemotronMultilingual.policy",
"value": "Use the on-device transcription model. Audio does not leave the device."
},
{
"key": "dictation.model.mai.policy",
"value": "Use the cloud transcription service. Audio is streamed to the service."
}
]
},
"type": "string",
"default": "nemotron-3.5-asr-streaming-0.6b",
"enum": [
"nemotron-3.5-asr-streaming-0.6b",
"mai"
],
"included": true
},
{
"key": "extensions.allowed",
"name": "AllowedExtensions",
@@ -315,7 +315,28 @@ configurationRegistry.registerConfiguration({
markdownDescription: nls.localize('dictation.model', "The model used for dictation. On-device models download on first use and run locally through Microsoft Foundry Local; the cloud option streams audio to the Microsoft AI voice service."),
default: DEFAULT_LOCAL_TRANSCRIPTION_MODEL,
tags: ['experimental'],
experiment: { mode: 'auto' }
experiment: { mode: 'auto' },
policy: {
name: 'DictationModel',
category: PolicyCategory.InteractiveSession,
minimumVersion: '1.136',
localization: {
description: {
key: 'dictation.model.policy',
value: nls.localize('dictation.model.policy', "Controls the transcription model used for dictation.")
},
enumDescriptions: [
{
key: 'dictation.model.nemotronMultilingual.policy',
value: nls.localize('dictation.model.nemotronMultilingual.policy', "Use the on-device transcription model. Audio does not leave the device.")
},
{
key: 'dictation.model.mai.policy',
value: nls.localize('dictation.model.mai.policy', "Use the cloud transcription service. Audio is streamed to the service.")
},
]
},
}
},
[DictationSettingId.ShowTranscript]: {
type: 'boolean',
@@ -333,7 +354,18 @@ configurationRegistry.registerConfiguration({
type: 'boolean',
markdownDescription: nls.localize('dictation.experimental.llmCleanup', "Experimental: when dictation ends, the final transcript is passed through a small language model to restore punctuation, capitalization, paragraphs, and lists. Requires Copilot to be enabled; the transcript is sent to the language model for cleanup. Falls back to the raw transcript when no model is available. Use [dictation instructions](command:{0}) to customize terminology and formatting.", CONFIGURE_DICTATION_INSTRUCTIONS_ACTION_ID),
default: true,
tags: ['experimental']
tags: ['experimental'],
policy: {
name: 'DictationLLMCleanup',
category: PolicyCategory.InteractiveSession,
minimumVersion: '1.136',
localization: {
description: {
key: 'dictation.experimental.llmCleanup.policy',
value: nls.localize('dictation.experimental.llmCleanup.policy', "Controls whether final dictation transcripts are sent to a language model for cleanup.")
}
},
}
},
'dictation.experimental.llmCleanupModel': {
type: 'string',