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:
| Model | Purpose |
|---|---|
| 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
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.).
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:
| Item | Example |
|---|---|
| Endpoint | https://eastus2.api.cognitive.microsoft.com/ (the exact output of the first command) |
| API key | The 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.