Skip to main content

Enable Advanced Copilot

The Copilot works out of the box using the same model that powers document extraction. You can optionally enable Advanced Copilot, which upgrades it with two capabilities:

  • More powerful reasoning: Advanced Copilot uses Anthropic Claude Sonnet 4.6, a dedicated reasoning model with a 1M-token context window. This produces more accurate, nuanced answers compared to the default extraction model, especially for complex document analysis and multi-step questions.
  • Voice input: Speak to the Copilot instead of typing. Hold Space or click the microphone button to dictate questions and instructions during document review.

Enabling Advanced Copilot requires deploying two models to your Azure subscription:

ModelPurpose
Claude Sonnet 4.6 (Anthropic)Reasoning
gpt-4o-mini-transcribe (OpenAI)Voice input

Step 1: Review Region Availability

Both models required for Advanced Copilot are currently available only in select Azure regions:

  • eastus2 (East US 2)
  • swedencentral (Sweden Central)

This list may change, so check the official availability pages for Anthropic models and OpenAI models for the latest information.

You do not need to redeploy anything. Your existing infrastructure (resource group with storage, container apps, Document Intelligence, Azure OpenAI for extraction, etc.) stays in its current region. You will deploy the Advanced Copilot models to one of the supported regions above and the application will call them remotely; there is no latency concern since Copilot interactions are conversational.

Before proceeding, confirm that you are comfortable with document data being sent to the chosen region during Copilot conversations. Both models are stateless: no document data is stored or retained in these regions; it is used only for real-time processing and discarded immediately.

Step 2: Create an Azure AI Services Resource

The models must be deployed under an Azure AI Services resource (not Azure OpenAI) so it can host both Anthropic and OpenAI models in a single resource.

Set these variables for the commands below:

SUBSCRIPTION_ID="<YOUR_SUBSCRIPTION_ID>"
RESOURCE_GROUP="<YOUR_RESOURCE_GROUP>". # e.g., docaifabric-copilot-rg
REGION="eastus2" # or swedencentral
AI_RESOURCE_NAME="<CHOOSE_A_NAME>" # e.g., docaifabric-copilot

Create the resource group and AI Services resource:

# Create a resource group (skip if using an existing one)
az group create \
--subscription $SUBSCRIPTION_ID \
--name $RESOURCE_GROUP \
--location $REGION

# Create the AI Services resource
az cognitiveservices account create \
--subscription $SUBSCRIPTION_ID \
--name $AI_RESOURCE_NAME \
--resource-group $RESOURCE_GROUP \
--kind AIServices \
--sku S0 \
--location $REGION
note

If you already have an AI Services resource (--kind AIServices) in one of the supported regions, you can reuse it: just set the variables above to match.

Step 3: Deploy the Reasoning Model

Deploy Claude Sonnet 4.6 via CLI. This requires modelProviderData for Anthropic marketplace registration.

First, get your Azure AD tenant name, which is used as the organization name:

az account show --query "tenantDisplayName" -o tsv

Then deploy:

cat > /tmp/copilot-claude-deployment.json << 'EOF'
{
"sku": {
"name": "GlobalStandard",
"capacity": 1
},
"properties": {
"model": {
"format": "Anthropic",
"name": "claude-sonnet-4-6",
"version": "1"
},
"modelProviderData": {
"organizationName": "<YOUR_TENANT_NAME>",
"countryCode": "US",
"industry": "technology"
}
}
}
EOF

az rest --method PUT \
--url "https://management.azure.com/subscriptions/${SUBSCRIPTION_ID}/resourceGroups/${RESOURCE_GROUP}/providers/Microsoft.CognitiveServices/accounts/${AI_RESOURCE_NAME}/deployments/claude-sonnet-4-6?api-version=2025-12-01" \
--body @/tmp/copilot-claude-deployment.json

Replace <YOUR_TENANT_NAME> with the output of the az account show command above (e.g., Default Directory, Contoso Corp, etc.).

note

The deployment takes several minutes. You can check progress by running:

az rest --method GET \
--url "https://management.azure.com/subscriptions/${SUBSCRIPTION_ID}/resourceGroups/${RESOURCE_GROUP}/providers/Microsoft.CognitiveServices/accounts/${AI_RESOURCE_NAME}/deployments/claude-sonnet-4-6?api-version=2025-12-01" \
--query "properties.provisioningState" -o tsv

Wait until it shows Succeeded.

Step 4: Deploy the Transcription Model

Deploy gpt-4o-mini-transcribe for voice input.

Create a permissive content filter policy (needed for transcription):

az rest --method PUT \
--url "https://management.azure.com/subscriptions/${SUBSCRIPTION_ID}/resourceGroups/${RESOURCE_GROUP}/providers/Microsoft.CognitiveServices/accounts/${AI_RESOURCE_NAME}/raiPolicies/DocAIFabricPermissive?api-version=2024-10-01" \
--body '{
"properties": {
"basePolicyName": "Microsoft.DefaultV2",
"contentFilters": [
{"name": "hate", "blocking": true, "enabled": true, "severityThreshold": "High", "source": "Prompt"},
{"name": "sexual", "blocking": true, "enabled": true, "severityThreshold": "High", "source": "Prompt"},
{"name": "selfharm", "blocking": true, "enabled": true, "severityThreshold": "High", "source": "Prompt"},
{"name": "violence", "blocking": true, "enabled": true, "severityThreshold": "High", "source": "Prompt"},
{"name": "hate", "blocking": true, "enabled": true, "severityThreshold": "High", "source": "Completion"},
{"name": "sexual", "blocking": true, "enabled": true, "severityThreshold": "High", "source": "Completion"},
{"name": "selfharm", "blocking": true, "enabled": true, "severityThreshold": "High", "source": "Completion"},
{"name": "violence", "blocking": true, "enabled": true, "severityThreshold": "High", "source": "Completion"}
]
}
}'

Then deploy the transcription model:

cat > /tmp/copilot-transcribe-deployment.json << 'EOF'
{
"sku": {
"name": "GlobalStandard",
"capacity": 1
},
"properties": {
"model": {
"format": "OpenAI",
"name": "gpt-4o-mini-transcribe",
"version": "2025-12-15"
},
"raiPolicyName": "DocAIFabricPermissive"
}
}
EOF

az rest --method PUT \
--url "https://management.azure.com/subscriptions/${SUBSCRIPTION_ID}/resourceGroups/${RESOURCE_GROUP}/providers/Microsoft.CognitiveServices/accounts/${AI_RESOURCE_NAME}/deployments/gpt-4o-mini-transcribe?api-version=2025-12-01" \
--body @/tmp/copilot-transcribe-deployment.json

Step 5: Retrieve the Endpoint and Key

# Get the endpoint URL
az cognitiveservices account show \
--subscription $SUBSCRIPTION_ID \
--name $AI_RESOURCE_NAME \
--resource-group $RESOURCE_GROUP \
--query "properties.endpoint" -o tsv

# Get the API key
az cognitiveservices account keys list \
--subscription $SUBSCRIPTION_ID \
--name $AI_RESOURCE_NAME \
--resource-group $RESOURCE_GROUP \
--query "key1" -o tsv

Step 6: Share Deployment Details With Us

Send us the two values from Step 5:

ItemExample
Endpointhttps://eastus2.api.cognitive.microsoft.com/ (the exact output of the first command)
API keyThe key from the second command

We will configure the application and deploy the update. Advanced Copilot will become available to all users immediately after deployment.

How It Works

Once enabled:

  • Smarter answers: The Copilot automatically uses Claude Sonnet 4.6 for all conversations. There are no changes to the user experience; responses are simply more accurate and detailed.
  • Voice input: A microphone icon appears in the Copilot chat input:
    • Click to record: click the microphone button to start recording, click again to stop. The transcribed text is appended to the message box.
    • Push-to-talk: hold the Space key while the chat input is focused to record hands-free. Release to stop and transcribe.