Skip to content

Commit 08a3fef

Browse files
committed
Merge branch 'main' of https://github.com/MicrosoftDocs/azure-ai-docs-pr into model-router
2 parents 5768a41 + 6ea4174 commit 08a3fef

File tree

136 files changed

+1674
-484
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

136 files changed

+1674
-484
lines changed

.acrolinx-config.edn

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
{:allowed-branchname-matches ["main" "release-.*"]
2-
:allowed-filename-matches ["(?i)articles/(?:(?!active-directory/saas-apps/toc.yml|role-based-access-control/resource-provider-operations.md|.*policy/samples/|.*resource-graph/samples/))" "(?i)includes/(?:(?!policy/reference/|policy/standards/|resource-graph/samples/))"]}
2+
:allowed-filename-matches ["articles"]}

.gitignore

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,8 @@ _site/
99
_themes*/
1010
_repo.*/
1111

12-
.openpublishing.buildcore.ps1
12+
.openpublishing.buildcore.ps1
13+
14+
# CoPilot instructions and prompts
15+
.github/copilot-instructions.md
16+
.github/prompts/*.md

articles/ai-foundry/concepts/model-benchmarks.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ ms.custom:
99
ms.topic: concept-article
1010
ms.date: 04/04/2025
1111
ms.reviewer: changliu2
12-
ms.author: mopeakande
13-
author: msakande
12+
ms.author: lagayhar
13+
author: lgayhardt
1414
---
1515

1616
# Model leaderboards in Azure AI Foundry portal (preview)

articles/ai-foundry/how-to/benchmark-model-in-catalog.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ ms.topic: how-to
1010
ms.date: 04/07/2025
1111
ms.reviewer: changliu2
1212
reviewer: changliu2
13-
ms.author: mopeakande
14-
author: msakande
13+
ms.author: lagayhar
14+
author: lgayhardt
1515
---
1616

1717
# Compare and select models using the model leaderboard in Azure AI Foundry portal (preview)

articles/ai-foundry/how-to/configure-private-link.md

Lines changed: 36 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ ms.date: 01/15/2025
1010
ms.reviewer: meerakurup
1111
ms.author: larryfr
1212
author: Blackmist
13+
zone_pivot_groups: azure-portal-and-cli
1314
# Customer intent: As an admin, I want to configure a private link for hub so that I can secure my hubs.
1415
---
1516

@@ -25,7 +26,6 @@ You get several hub default resources in your resource group. You need to config
2526
- Establish private endpoint connection to hub default resources. You need to have both a blob and file private endpoint for the default storage account.
2627
- If your storage account is private, [assign roles](#private-storage-configuration) to allow access.
2728

28-
2929
## Prerequisites
3030

3131
* You must have an existing Azure Virtual Network to create the private endpoint in.
@@ -37,9 +37,9 @@ You get several hub default resources in your resource group. You need to config
3737

3838
## Create a hub that uses a private endpoint
3939

40-
If you are creating a new hub, use the following tabs to select how you are creating the hub (Azure portal or Azure CLI.) Each of these methods __requires an existing virtual network__:
40+
If you are creating a new hub, use the following methods to create the hub (Azure portal or Azure CLI). Each of these methods __requires an existing virtual network__:
4141

42-
# [Azure portal](#tab/azure-portal)
42+
:::zone pivot="azure-portal"
4343

4444
> [!NOTE]
4545
> The information in this document is only about configuring a private link. For a walkthrough of creating a secure hub in the portal, see [Create a secure hub in the Azure portal](create-secure-ai-hub.md).
@@ -55,7 +55,9 @@ If you are creating a new hub, use the following tabs to select how you are crea
5555

5656
1. Input required fields. When selecting the __Region__, select the same region as your virtual network.
5757

58-
# [Azure CLI](#tab/cli)
58+
:::zone-end
59+
60+
:::zone pivot="cli"
5961

6062
> [!NOTE]
6163
> The information in this section doesn't cover basic hub configuration. For more information, see [Create a hub using the Azure CLI](./develop/create-hub-project-sdk.md?tabs=azurecli).
@@ -95,34 +97,17 @@ az network private-endpoint dns-zone-group create \
9597
--name myzonegroup \
9698
--private-dns-zone privatelink.api.azureml.ms \
9799
--zone-name privatelink.api.azureml.ms
98-
99-
# Add privatelink.notebooks.azure.net
100-
az network private-dns zone create \
101-
-g <resource-group-name> \
102-
--name privatelink.notebooks.azure.net
103-
104-
az network private-dns link vnet create \
105-
-g <resource-group-name> \
106-
--zone-name privatelink.notebooks.azure.net \
107-
--name <link-name> \
108-
--virtual-network <vnet-name> \
109-
--registration-enabled false
110-
111-
az network private-endpoint dns-zone-group add \
112-
-g <resource-group-name> \
113-
--endpoint-name <private-endpoint-name> \
114-
--name myzonegroup \
115-
--private-dns-zone privatelink.notebooks.azure.net \
116-
--zone-name privatelink.notebooks.azure.net
117100
```
118101

102+
:::zone-end
103+
119104
---
120105

121106
## Add a private endpoint to a hub
122107

123108
Use one of the following methods to add a private endpoint to an existing hub:
124109

125-
# [Azure portal](#tab/azure-portal)
110+
:::zone pivot="azure-portal"
126111

127112
1. From the [Azure portal](https://portal.azure.com), select your hub.
128113
1. From the left side of the page, select __Settings__, __Networking__, and then select the __Private endpoint connections__ tab. Select __+ Private endpoint__.
@@ -131,13 +116,15 @@ Use one of the following methods to add a private endpoint to an existing hub:
131116

132117
1. When going through the forms to create a private endpoint, be sure to:
133118

134-
- From __Basics__, select the same the __Region__ as your virtual network.
119+
- From __Basics__, select the same __Region__ as your virtual network.
135120
- From __Resource__, select `amlworkspace` as the __target sub-resource__.
136121
- From the __Virtual Network__ form, select the virtual network and subnet that you want to connect to.
137122

138123
1. After populating the forms with any additional network configurations you require, use the __Review + create__ tab to review your settings and select __Create__ to create the private endpoint.
139124

140-
# [Azure CLI](#tab/cli)
125+
:::zone-end
126+
127+
:::zone pivot="cli"
141128

142129
Use the [Azure networking CLI commands](/cli/azure/network/private-endpoint#az-network-private-endpoint-create) to create a private link endpoint for the hub.
143130

@@ -159,11 +146,11 @@ To create the private DNS zone entries for the workspace, use the following comm
159146
# Add privatelink.api.azureml.ms
160147
az network private-dns zone create \
161148
-g <resource-group-name> \
162-
--name 'privatelink.api.azureml.ms'
149+
--name privatelink.api.azureml.ms
163150
164151
az network private-dns link vnet create \
165152
-g <resource-group-name> \
166-
--zone-name 'privatelink.api.azureml.ms' \
153+
--zone-name privatelink.api.azureml.ms \
167154
--name <link-name> \
168155
--virtual-network <vnet-name> \
169156
--registration-enabled false
@@ -172,17 +159,17 @@ az network private-endpoint dns-zone-group create \
172159
-g <resource-group-name> \
173160
--endpoint-name <private-endpoint-name> \
174161
--name myzonegroup \
175-
--private-dns-zone 'privatelink.api.azureml.ms' \
176-
--zone-name 'privatelink.api.azureml.ms'
162+
--private-dns-zone privatelink.api.azureml.ms \
163+
--zone-name privatelink.api.azureml.ms
177164
178165
# Add privatelink.notebooks.azure.net
179166
az network private-dns zone create \
180167
-g <resource-group-name> \
181-
--name 'privatelink.notebooks.azure.net'
168+
--name privatelink.notebooks.azure.net
182169
183170
az network private-dns link vnet create \
184171
-g <resource-group-name> \
185-
--zone-name 'privatelink.notebooks.azure.net' \
172+
--zone-name privatelink.notebooks.azure.net \
186173
--name <link-name> \
187174
--virtual-network <vnet-name> \
188175
--registration-enabled false
@@ -191,10 +178,12 @@ az network private-endpoint dns-zone-group add \
191178
-g <resource-group-name> \
192179
--endpoint-name <private-endpoint-name> \
193180
--name myzonegroup \
194-
--private-dns-zone 'privatelink.notebooks.azure.net' \
195-
--zone-name 'privatelink.notebooks.azure.net'
181+
--private-dns-zone privatelink.notebooks.azure.net \
182+
--zone-name privatelink.notebooks.azure.net
196183
```
197184

185+
:::zone-end
186+
198187
---
199188

200189
## Remove a private endpoint
@@ -206,24 +195,28 @@ You can remove one or all private endpoints for a hub. Removing a private endpoi
206195
207196
To remove a private endpoint, use the following information:
208197

209-
# [Azure portal](#tab/azure-portal)
198+
:::zone pivot="azure-portal"
210199

211200
1. From the [Azure portal](https://portal.azure.com), select your hub.
212201
1. From the left side of the page, select __Settings__, __Networking__, and then select the __Private endpoint connections__ tab.
213202
1. Select the endpoint to remove and then select __Remove__.
214203

215204
:::image type="content" source="../media/how-to/network/remove-private-endpoint.png" alt-text="Screenshot of a selected private endpoint with the remove option highlighted.":::
216205

217-
# [Azure CLI](#tab/cli)
206+
:::zone-end
207+
208+
:::zone pivot="cli"
218209

219210
When using the Azure CLI, use the following command to remove the private endpoint:
220211

221212
```azurecli
222213
az network private-endpoint delete \
223214
--name <private-endpoint-name> \
224-
--resource-group <resource-group-name> \
215+
--resource-group <resource-group-name>
225216
```
226217

218+
:::zone-end
219+
227220
---
228221

229222
## Enable public access
@@ -235,13 +228,15 @@ In some situations, you might want to allow someone to connect to your secured h
235228
236229
To enable public access, use the following steps:
237230

238-
# [Azure portal](#tab/azure-portal)
231+
:::zone pivot="azure-portal"
239232

240233
1. From the [Azure portal](https://portal.azure.com), select your hub.
241234
1. From the left side of the page, select __Networking__ and then select the __Public access__ tab.
242235
1. Select __Enabled from all networks__, and then select __Save__.
243236

244-
# [Azure CLI](#tab/cli)
237+
:::zone-end
238+
239+
:::zone pivot="cli"
245240

246241
Use the following Azure CLI command to enable public access:
247242

@@ -255,8 +250,9 @@ If you receive an error that the `ml` command isn't found, use the following com
255250
az extension add --name ml
256251
```
257252

258-
---
253+
:::zone-end
259254

255+
---
260256

261257
## Private storage configuration
262258

articles/ai-foundry/how-to/costs-plan-manage.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ ms.custom:
99
- build-2024
1010
- ignite-2024
1111
ms.topic: conceptual
12-
ms.date: 02/19/2025
12+
ms.date: 04/25/2025
1313
ms.reviewer: siarora
1414
ms.author: larryfr
1515
author: Blackmist
@@ -73,10 +73,12 @@ Before you delete a hub in the Azure portal or with Azure CLI, the following sub
7373
- Azure Virtual Network
7474
- Bandwidth
7575

76-
Each VM is billed per hour it's running. Cost depends on VM specifications. VMs that are running but not actively working on a dataset are still charged via the load balancer. For each compute instance, one load balancer is billed per day. Every 50 nodes of a compute cluster have one standard load balancer billed. Each load balancer is billed around $0.33/day. To avoid load balancer costs on stopped compute instances and compute clusters, delete the compute resource.
76+
Each VM is billed per hour it's running. Cost depends on VM specifications. VMs that are running but not actively working on a dataset are still charged via the load balancer. For each compute instance, one load balancer is billed per day. Every 50 nodes of a compute cluster have one standard load balancer billed. To avoid load balancer costs on stopped compute instances and compute clusters, delete the compute resource.
7777

7878
Compute instances also incur P10 disk costs even in stopped state. This cost is because any user content saved to disk is persisted across the stopped state similar to Azure VMs. We're working on making the OS disk size/ type configurable to better control costs. For Azure Virtual Networks, one virtual network is billed per subscription and per region. Virtual networks can't span regions or subscriptions. Setting up private endpoints in virtual network setups might also incur charges. If your virtual network uses an Azure Firewall, the firewall might also incur charges. Bandwidth usage is charged; the more data transferred, the more you're charged.
7979

80+
For more information, see the [Azure pricing calculator](https://azure.microsoft.com/pricing/calculator/).
81+
8082
> [!TIP]
8183
> Using a managed virtual network is free. However some features of the managed network rely on Azure Private Link (for private endpoints) and Azure Firewall (for FQDN rules) and will incur charges. For more information, see [Managed virtual network isolation](configure-managed-network.md#pricing).
8284
@@ -111,7 +113,7 @@ Here's an example of how to monitor costs for a project. The costs are used as a
111113
1. Under the **Project** heading, select **Overview**.
112114
1. Select **View cost for resources** from the **Total cost** section. The [Azure portal](https://portal.azure.com) opens to the resource group for your project.
113115

114-
:::image type="content" source="../media/cost-management/project-costs/project-settings-go-view-costs.png" alt-text="Screenshot of the Azure AI Foundry portal portal showing how to see project settings." lightbox="../media/cost-management/project-costs/project-settings-go-view-costs.png":::
116+
:::image type="content" source="../media/cost-management/project-costs/project-settings-go-view-costs.png" alt-text="Screenshot of the Azure AI Foundry portal showing how to see project settings." lightbox="../media/cost-management/project-costs/project-settings-go-view-costs.png":::
115117

116118
1. Expand the **Resource** column to see the costs for each service that's underlying your [project](../concepts/ai-resources.md#organize-work-in-projects-for-customization). But this view doesn't include costs for all resources that you use in a project.
117119

@@ -127,9 +129,9 @@ Here's an example of how to monitor costs for a project. The costs are used as a
127129

128130
In this example:
129131
- The resource group name is **rg-contosoairesource**.
130-
- The total cost for all resources and services in the resource group is **$222.97**. In this example, $222.97 is the total cost for your application or solution that you're building with Azure AI Foundry. Again, this example assumes that all Azure AI Foundry resources are in the same resource group. But you can have resources in different resource groups.
132+
- The total cost for all resources and services in the example resource group is **$222.97**. In this example, $222.97 is the total cost for your application or solution that you're building with Azure AI Foundry. Again, this example assumes that all Azure AI Foundry resources are in the same resource group. But you can have resources in different resource groups.
131133
- The project name is **contoso-outdoor-proj**.
132-
- The costs that are limited to resources and services in the [project](../concepts/ai-resources.md#organize-work-in-projects-for-customization) total **$212.06**.
134+
- The costs that are limited to resources and services in the example [project](../concepts/ai-resources.md#organize-work-in-projects-for-customization) total **$212.06**.
133135

134136
1. Expand **contoso-outdoor-proj** to see the costs for services underlying the [project](../concepts/ai-resources.md#organize-work-in-projects-for-customization) resource.
135137

articles/ai-foundry/how-to/develop/evaluate-sdk.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,7 @@ import os
233233
from azure.identity import DefaultAzureCredential
234234
credential = DefaultAzureCredential()
235235

236-
# Initialize Azure AI project and Azure OpenAI conncetion with your environment variables
236+
# Initialize Azure AI project and Azure OpenAI connection with your environment variables
237237
azure_ai_project = {
238238
"subscription_id": os.environ.get("AZURE_SUBSCRIPTION_ID"),
239239
"resource_group_name": os.environ.get("AZURE_RESOURCE_GROUP"),
@@ -250,7 +250,7 @@ model_config = {
250250

251251
from azure.ai.evaluation import GroundednessProEvaluator, GroundednessEvaluator
252252

253-
# Initialzing Groundedness and Groundedness Pro evaluators
253+
# Initializing Groundedness and Groundedness Pro evaluators
254254
groundedness_eval = GroundednessEvaluator(model_config)
255255
groundedness_pro_eval = GroundednessProEvaluator(azure_ai_project=azure_ai_project, credential=credential)
256256

articles/ai-foundry/how-to/develop/run-scans-ai-red-teaming-agent.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,7 @@ More advanced users can specify the desired attack strategies instead of using d
224224

225225
Each new attack strategy specified will be applied to the set of baseline adversarial queries used in addition to the baseline adversarial queries.
226226

227-
This following example would generate one attack objective per each of the four risk categories specified. This will first, generate four baseline adversarial prompts which would be sent to your target. Then, each baseline query would get converted into each of the four attack strategies. This will result in a total of 20 attack-response pairs from your AI system. The last attack stratgy is an example of a composition of two attack strategies to create a more complex attack query: the `AttackStrategy.Compose()` function takes in a list of two supported attack strategies and chains them together. The example's composition would first encode the baseline adversarial query into Base64 then apply the ROT13 cipher on the Base64-encoded query. Compositions only support chaining two attack strategies together.
227+
This following example would generate one attack objective per each of the four risk categories specified. This will first, generate four baseline adversarial prompts which would be sent to your target. Then, each baseline query would get converted into each of the four attack strategies. This will result in a total of 20 attack-response pairs from your AI system. The last attack strategy is an example of a composition of two attack strategies to create a more complex attack query: the `AttackStrategy.Compose()` function takes in a list of two supported attack strategies and chains them together. The example's composition would first encode the baseline adversarial query into Base64 then apply the ROT13 cipher on the Base64-encoded query. Compositions only support chaining two attack strategies together.
228228

229229
```python
230230
red_team_agent = RedTeam(

articles/ai-foundry/how-to/develop/visualize-traces.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ For more information on how to send Azure AI Inference traces to Azure Monitor a
101101

102102
From Azure AI Foundry project, you can also open your custom dashboard that provides you with insights specifically to help you monitor your generative AI application.
103103

104-
In this Azure Workbook, you can view your Gen AI spans and jump into the Azure Monitor **End-to-end transaction details view** view to deep dive and investigate.
104+
In this Azure Workbook, you can view your Gen AI spans and jump into the Azure Monitor **End-to-end transaction details view** to deep dive and investigate.
105105

106106
Learn more about using this workbook to monitor your application, see [Azure Workbook documentation](/azure/azure-monitor/visualize/workbooks-create-workbook).
107107

0 commit comments

Comments
 (0)