Skip to content

Commit b59fd19

Browse files
committed
Merge branch 'release-build-2025-content-safety' of https://github.com/MicrosoftDocs/azure-ai-docs-pr into consaf-build
2 parents ef8b227 + 3cbd10c commit b59fd19

File tree

355 files changed

+7926
-1859
lines changed

Some content is hidden

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

355 files changed

+7926
-1859
lines changed

.openpublishing.publish.config.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,12 @@
9292
"branch": "main",
9393
"branch_mapping": {}
9494
},
95+
{
96+
"path_to_root": "azure-functions-ai-services-agent-javascript",
97+
"url": "https://github.com/Azure-Samples/azure-functions-ai-services-agent-javascript",
98+
"branch": "main",
99+
"branch_mapping": {}
100+
},
95101
{
96102
"path_to_root": "samples-cognitive-services-speech-sdk",
97103
"url": "https://github.com/Azure-Samples/cognitive-services-speech-sdk",

articles/ai-foundry/ai-services/content-safety-overview.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,18 @@ ms.service: azure-ai-foundry
77
ms.custom:
88
- ignite-2024
99
ms.topic: overview
10-
ms.date: 02/20/2025
10+
ms.date: 05/01/2025
1111
ms.author: pafarley
1212
author: PatrickFarley
1313
---
1414

1515
# Content Safety in the Azure AI Foundry portal
1616

17-
Azure AI Content Safety is an AI service that detects harmful user-generated and AI-generated content in applications and services. Azure AI Content Safety includes various APIs that allow you to detect and prevent the output of harmful content. The interactive Content Safety **try out** page in [Azure AI Foundry portal](https://ai.azure.com) allows you to view, explore, and try out sample code for detecting harmful content across different modalities.
17+
Azure AI Content Safety is an AI service that detects harmful user-generated and AI-generated content in applications and services. Azure AI Content Safety includes APIs that allow you to detect and prevent the output of harmful content. The interactive Content Safety **try it out** page in [Azure AI Foundry portal](https://ai.azure.com) allows you to view, explore, and try out sample code for detecting harmful content across different modalities.
1818

1919
## Features
2020

21-
You can use Azure AI Content Safety for many scenarios:
21+
You can use Azure AI Content Safety for the following scenarios:
2222

2323
**Text content**:
2424
- Moderate text content: This feature scans and moderates text content, identifying and categorizing it based on different levels of severity to ensure appropriate responses.

articles/ai-foundry/concepts/content-filtering.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,24 +9,24 @@ ms.custom:
99
- build-2024
1010
- ignite-2024
1111
ms.topic: conceptual
12-
ms.date: 01/10/2025
12+
ms.date: 04/29/2025
1313
ms.reviewer: eur
1414
ms.author: pafarley
1515
author: PatrickFarley
1616
---
1717

1818
# Content filtering in Azure AI Foundry portal
1919

20-
[Azure AI Foundry](https://ai.azure.com) includes a content filtering system that works alongside core models and DALL-E image generation models.
20+
[Azure AI Foundry](https://ai.azure.com) includes a content filtering system that works alongside core models and image generation models.
2121

2222
> [!IMPORTANT]
2323
> The content filtering system isn't applied to prompts and completions processed by the Whisper model in Azure OpenAI Service. Learn more about the [Whisper model in Azure OpenAI](../../ai-services/openai/concepts/models.md).
2424
2525
## How it works
2626

27-
This content filtering system is powered by [Azure AI Content Safety](../../ai-services/content-safety/overview.md), and it works by running both the prompt input and completion output through an ensemble of classification models aimed at detecting and preventing the output of harmful content. Variations in API configurations and application design might affect completions and thus filtering behavior.
27+
The content filtering system is powered by [Azure AI Content Safety](../../ai-services/content-safety/overview.md), and it works by running both the prompt input and completion output through a set of classification models designed to detect and prevent the output of harmful content. Variations in API configurations and application design might affect completions and thus filtering behavior.
2828

29-
With Azure OpenAI model deployments, you can use the default content filter or create your own content filter (described later on). Models available through **serverless APIs** have content filtering enabled by default. To learn more about the default content filter enabled for serverless APIs, see [Content safety for models curated by Azure AI in the model catalog](model-catalog-content-safety.md).
29+
With Azure OpenAI model deployments, you can use the default content filter or create your own content filter (described later on). Models available through **serverless APIs** have content filtering enabled by default. To learn more about the default content filter enabled for serverless APIs, see [Content safety for models curated by Azure AI in the model catalog](model-catalog-content-safety.md).
3030

3131
## Language support
3232

@@ -89,7 +89,7 @@ The configurability feature allows customers to adjust the settings, separately
8989
Customers are responsible for ensuring that applications integrating Azure OpenAI comply with the [Code of Conduct](/legal/ai-code-of-conduct?context=%2Fazure%2Fai-services%2Fopenai%2Fcontext%2Fcontext).
9090

9191

92-
## Next steps
92+
## Related content
9393

9494
- Learn more about the [underlying models that power Azure OpenAI](../../ai-services/openai/concepts/models.md).
9595
- Azure AI Foundry content filtering is powered by [Azure AI Content Safety](../../ai-services/content-safety/overview.md).

articles/ai-foundry/concepts/models-featured.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,8 @@ Microsoft models include various model groups such as MAI models, Phi models, he
215215
| Model | Type | Capabilities |
216216
| ------ | ---- | ------------ |
217217
| [MAI-DS-R1](https://ai.azure.com/explore/models/MAI-DS-R1/version/1/registry/azureml) | [chat-completion with reasoning content](../model-inference/how-to/use-chat-reasoning.md?context=/azure/ai-foundry/context/context) | - **Input:** text (163,840 tokens) <br /> - **Output:** text (163,840 tokens) <br /> - **Tool calling:** No <br /> - **Response formats:** Text. |
218+
| [Phi-4-reasoning](https://aka.ms/azureai/landing/Phi-4-reasoning) | [chat-completion with reasoning content](../model-inference/how-to/use-chat-reasoning.md?context=/azure/ai-foundry/context/context) | - **Input:** text (32768 tokens) <br /> - **Output:** text (32768 tokens) <br /> - **Tool calling:** No <br /> - **Response formats:** Text |
219+
| [Phi-4-mini-reasoning](https://aka.ms/azureai/landing/Phi-4-mini-reasoning) | [chat-completion with reasoning content](../model-inference/how-to/use-chat-reasoning.md?context=/azure/ai-foundry/context/context) | - **Input:** text (128,000 tokens) <br /> - **Output:** text (128,000 tokens) <br /> - **Tool calling:** No <br /> - **Response formats:** Text |
218220
| [Phi-4-multimodal-instruct](https://ai.azure.com/explore/models/Phi-4-multimodal-instruct/version/1/registry/azureml) | [chat-completion (with image and audio content)](../model-inference/how-to/use-chat-multi-modal.md?context=/azure/ai-foundry/context/context) | - **Input:** text, images, and audio (131,072 tokens) <br /> - **Output:** text (4,096 tokens) <br /> - **Tool calling:** No <br /> - **Response formats:** Text |
219221
| [Phi-4-mini-instruct](https://ai.azure.com/explore/models/Phi-4-mini-instruct/version/1/registry/azureml) | [chat-completion](../model-inference/how-to/use-chat-completions.md?context=/azure/ai-foundry/context/context) | - **Input:** text (131,072 tokens) <br /> - **Output:** text (4,096 tokens) <br /> - **Tool calling:** No <br /> - **Response formats:** Text |
220222
| [Phi-4](https://ai.azure.com/explore/models/Phi-4/version/2/registry/azureml) | [chat-completion](../model-inference/how-to/use-chat-completions.md?context=/azure/ai-foundry/context/context) | - **Input:** text (16,384 tokens) <br /> - **Output:** text (16,384 tokens) <br /> - **Tool calling:** No <br /> - **Response formats:** Text |
@@ -260,7 +262,7 @@ Mistral AI offers two categories of models, namely:
260262
| [Mistral-Large-2411](https://ai.azure.com/explore/models/Mistral-Large-2411/version/2/registry/azureml-mistral) | [chat-completion](../model-inference/how-to/use-chat-completions.md?context=/azure/ai-foundry/context/context) | - **Input:** text (128,000 tokens) <br /> - **Output:** text (4,096 tokens) <br /> - **Tool calling:** Yes <br /> - **Response formats:** Text, JSON |
261263
| [Mistral-large-2407](https://ai.azure.com/explore/models/Mistral-large-2407/version/1/registry/azureml-mistral) <br /> (deprecated) | [chat-completion](../model-inference/how-to/use-chat-completions.md?context=/azure/ai-foundry/context/context) | - **Input:** text (131,072 tokens) <br /> - **Output:** text (4,096 tokens) <br /> - **Tool calling:** Yes <br /> - **Response formats:** Text, JSON |
262264
| [Mistral-large](https://ai.azure.com/explore/models/Mistral-large/version/1/registry/azureml-mistral) <br /> (deprecated) | [chat-completion](../model-inference/how-to/use-chat-completions.md?context=/azure/ai-foundry/context/context) | - **Input:** text (32,768 tokens) <br /> - **Output:** text (4,096 tokens) <br /> - **Tool calling:** Yes <br /> - **Response formats:** Text, JSON |
263-
| [Mistral-OCR-2503](https://aka.ms/aistudio/landing/mistral-ocr-2503) | image to text | - **Input:** image or PDF pages (1,000 pages, max 50MB PDF file) <br> - **Output:** text <br /> - **Tool calling:** No <br /> - **Response formats:** Text, JSON, Markdown |
265+
| [Mistral-OCR-2503](https://aka.ms/aistudio/landing/mistral-ocr-2503) | [image to text](../how-to/use-image-models.md) | - **Input:** image or PDF pages (1,000 pages, max 50MB PDF file) <br> - **Output:** text <br /> - **Tool calling:** No <br /> - **Response formats:** Text, JSON, Markdown |
264266
| [Mistral-small-2503](https://aka.ms/aistudio/landing/mistral-small-2503) | [chat-completion (with images)](../model-inference/how-to/use-chat-multi-modal.md?context=/azure/ai-foundry/context/context) | - **Input:** text and images (131,072 tokens), <br> image-based tokens are 16px x 16px <br> blocks of the original images <br /> - **Output:** text (4,096 tokens) <br /> - **Tool calling:** Yes <br /> - **Response formats:** Text, JSON |
265267
| [Mistral-small](https://ai.azure.com/explore/models/Mistral-small/version/1/registry/azureml-mistral) | [chat-completion](../model-inference/how-to/use-chat-completions.md?context=/azure/ai-foundry/context/context) | - **Input:** text (32,768 tokens) <br /> - **Output:** text (4,096 tokens) <br /> - **Tool calling:** Yes <br /> - **Response formats:** Text, JSON |
266268

articles/ai-foundry/concepts/prompt-flow.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ ms.reviewer: none
1414
ms.author: lagayhar
1515
author: lgayhardt
1616
ms.collection: ce-skilling-ai-copilot, ce-skilling-fresh-tier1
17+
ms.update-cycle: 180-days
1718
---
1819

1920
# Prompt flow in Azure AI Foundry portal

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

Lines changed: 85 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ manager: scottpolly
66
ms.service: azure-ai-foundry
77
ms.custom: ignite-2023, devx-track-azurecli, build-2024, ignite-2024
88
ms.topic: how-to
9-
ms.date: 01/15/2025
9+
ms.date: 05/06/2025
1010
ms.reviewer: meerakurup
1111
ms.author: larryfr
1212
author: Blackmist
@@ -252,8 +252,85 @@ az extension add --name ml
252252

253253
:::zone-end
254254

255+
## Enable Public Access only from internet IP ranges (preview)
256+
257+
You can use IP network rules to allow access to your secured hub from specific public internet IP address ranges by creating IP network rules. Each Azure AI Foundry hub supports up to 200 rules. These rules grant access to specific internet-based services and on-premises networks and block general internet traffic. This feature is currently in preview.
258+
259+
> [!WARNING]
260+
> * Enable your endpoint's public network access flag if you want to allow access to your endpoint from specific public internet IP address ranges.
261+
> * You can only use IPv4 addresses.
262+
> * If the workspace goes from __Enable from selected IPs__ to __Disabled__ or __Enabled__, the IP ranges will be reset.
263+
264+
# [Portal](#tab/azure-portal)
265+
266+
1. From the [Azure portal](https://portal.azure.com), select your Azure Machine AI Foundry hub.
267+
1. From the left side of the page, select __Networking__ and then select the __Public access__ tab.
268+
1. Select __Enabled from selected IP addresses__, input address ranges and then select __Save__.
269+
270+
<!-- :::image type="content" source="./media/how-to-configure-private-link/workspace-public-access-ip-ranges.png" alt-text="Screenshot of the UI to enable access from internet IP ranges."::: -->
271+
272+
# [Azure CLI](#tab/cli)
273+
274+
Use the `az ml workspace update` Azure CLI command to manage public access from an IP address or address range:
275+
276+
> [!TIP]
277+
> The configurations for the selected IP addresses are stored in the hub's properties, under `network_acls`:
278+
> ```yml
279+
> name: sample_hub
280+
> location: centraluseuap
281+
> display_name: sample hub
282+
> description: desc
283+
> public_network_access: enabled
284+
> network_acls:
285+
> ip_rules:
286+
> value: "X.X.X.X/X"
287+
> value: "X.X.X.X"
288+
> default_action: Deny
289+
> ```
290+
291+
1. Disabled:
292+
`az ml workspace update -n test-ws -g test-rg --public-network-access Disabled`
293+
1. Enabled from selected IP addresses:
294+
`az ml workspace update -n test-ws -g test-rg --public-network-access Enabled --network-acls "167.220.238.199/32,167.220.238.194/32" `
295+
1. Enabled from all networks:
296+
`az ml workspace update -n test-ws -g test-rg --public-network-access Enabled --network-acls none`
297+
255298
---
256299
300+
You can also use the [Workspace](/python/api/azure-ai-ml/azure.ai.ml.entities.workspace) class from the Azure Machine Learning [Python SDK](/python/api/azure-ai-ml/azure.ai.ml.entities.networkacls) to define which IP addresses are allowed inbound access:
301+
302+
```python
303+
class Workspace(Resource):
304+
"""Azure ML workspace.
305+
:param public_network_access: Whether to allow public endpoint connectivity
306+
when a workspace is private link enabled.
307+
:type public_network_access: str
308+
:param network_acls: The network access control list (ACL) settings of the workspace.
309+
:type network_acls: ~azure.ai.ml.entities.NetworkAcls
310+
311+
def __init__(
312+
self,
313+
*,
314+
public_network_access: Optional[str] = None,
315+
network_acls: Optional[NetworkAcls] = None,
316+
```
317+
318+
### Restrictions for IP network rules
319+
320+
The following restrictions apply to IP address ranges:
321+
322+
- IP network rules are allowed only for _public internet_ IP addresses.
323+
324+
[Reserved IP address ranges](https://en.wikipedia.org/wiki/Reserved_IP_addresses) aren't allowed in IP rules such as private addresses that start with 10, 172.16 to 172.31, and 192.168.
325+
326+
- You must provide allowed internet address ranges by using [CIDR notation](https://tools.ietf.org/html/rfc4632) in the form 16.17.18.0/24 or as individual IP addresses like 16.17.18.19.
327+
328+
- Only IPv4 addresses are supported for configuration of storage firewall rules.
329+
330+
- When this feature is enabled, you can test public endpoints using any client tool such as Curl, but the Endpoint Test tool in the portal isn't supported.
331+
332+
- You can only set the IP addresses for the AI Foundry hub after the hub has been created.
333+
257334
## Private storage configuration
258335
259336
If your storage account is private (uses a private endpoint to communicate with your project), you perform the following steps:
@@ -282,12 +359,9 @@ See [Azure Machine Learning custom DNS](/azure/machine-learning/how-to-custom-dn
282359
283360
If you need to configure custom DNS server without DNS forwarding, use the following patterns for the required A records.
284361
285-
* `<AI-STUDIO-GUID>.workspace.<region>.cert.api.azureml.ms`
286-
* `<AI-PROJECT-GUID>.workspace.<region>.cert.api.azureml.ms`
287-
* `<AI-STUDIO-GUID>.workspace.<region>.api.azureml.ms`
288-
* `<AI-PROJECT-GUID>.workspace.<region>.api.azureml.ms`
289-
* `ml-<workspace-name, truncated>-<region>-<AI-STUDIO-GUID>.<region>.notebooks.azure.net`
290-
* `ml-<workspace-name, truncated>-<region>-<AI-PROJECT-GUID>.<region>.notebooks.azure.net`
362+
* `<AI-HUB-GUID>.workspace.<region>.cert.api.azureml.ms`
363+
* `<AI-HUB-GUID>.workspace.<region>.api.azureml.ms`
364+
* `ml-<workspace-name, truncated>-<region>-<AI-HUB-GUID>.<region>.notebooks.azure.net`
291365
292366
> [!NOTE]
293367
> The workspace name for this FQDN might be truncated. Truncation is done to keep `ml-<workspace-name, truncated>-<region>-<workspace-guid>` at 63 characters or less.
@@ -297,13 +371,15 @@ If you need to configure custom DNS server without DNS forwarding, use the follo
297371
> * Compute instances can be accessed only from within the virtual network.
298372
> * The IP address for this FQDN is **not** the IP of the compute instance. Instead, use the private IP address of the workspace private endpoint (the IP of the `*.api.azureml.ms` entries.)
299373
300-
* `<instance-name>.<region>.instances.azureml.ms` - Only used by the `az ml compute connect-ssh` command to connect to computers in a managed virtual network. Not needed if you aren't using a managed network or SSH connections.
374+
* `<instance-name>-22.<region>.instances.azureml.ms` - Only used by the `az ml compute connect-ssh` command to connect to computers in a managed virtual network. Not needed if you aren't using a managed network or SSH connections.
301375
302376
* `<managed online endpoint name>.<region>.inference.ml.azure.com` - Used by managed online endpoints
303377
* `models.ai.azure.com` - Used for deploying Models as a Service
304378
305379
To find the private IP addresses for your A records, see the [Azure Machine Learning custom DNS](/azure/machine-learning/how-to-custom-dns#find-the-ip-addresses) article.
306-
To check AI-PROJECT-GUID, go to the Azure portal, select your project, settings, properties, and the workspace ID is displayed.
380+
381+
> [!NOTE]
382+
> Project workspaces reuse the FQDNs of the associated hub workspaces. There is no reason to configure separate entries for the project workspace GUIDs.
307383
308384
## Limitations
309385

0 commit comments

Comments
 (0)