Skip to content

Commit f144337

Browse files
committed
update
2 parents 2dfaf1e + e61e3dd commit f144337

File tree

679 files changed

+11089
-10643
lines changed

Some content is hidden

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

679 files changed

+11089
-10643
lines changed

.github/policies/disallow-edits.yml

Lines changed: 60 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,18 @@ configuration:
1919
@${issueAuthor} - You tried to add an index file to this repository; this is not permitted so your pull request will be closed automatically.
2020
- closePullRequest
2121

22-
- description: Close PRs to the "ai-services/personalizer" folder where the author isn't a member of the MicrosoftDocs org (i.e. PRs in public repo).
22+
- description: Close PRs to the "ai-services/personalizer" and "ai-services/responsible-ai" folders where the author isn't a member of the MicrosoftDocs org (i.e. PRs in public repo).
2323
if:
2424
- payloadType: Pull_Request
2525
- isAction:
2626
action: Opened
27-
- filesMatchPattern:
28-
matchAny: true
29-
pattern: articles/ai-services/personalizer/*
27+
- or:
28+
- filesMatchPattern:
29+
matchAny: true
30+
pattern: articles/ai-services/personalizer/*
31+
- filesMatchPattern:
32+
matchAny: true
33+
pattern: articles/ai-services/responsible-ai/*
3034
- not:
3135
activitySenderHasAssociation:
3236
association: Member
@@ -65,3 +69,55 @@ configuration:
6569
- mrbullwinkle
6670
replyTemplate: ${mentionees} - Please review this PR and sign off when you're ready to merge it.
6771
assignMentionees: True # This part probably won't work since the bot doesn't have write perms.
72+
- addLabel:
73+
label: needs-human-review
74+
75+
- description: \@mention specific people when a PR is opened in the "ai-services/responsible-ai" folder.
76+
if:
77+
- payloadType: Pull_Request
78+
- isAction:
79+
action: Opened
80+
- filesMatchPattern:
81+
matchAny: true
82+
pattern: articles/ai-services/responsible-ai/*
83+
- activitySenderHasAssociation:
84+
association: Member
85+
- not:
86+
or:
87+
- isActivitySender:
88+
user: eric-urban
89+
- isActivitySender:
90+
user: nitinme
91+
- isActivitySender:
92+
user: mrbullwinkle
93+
- isActivitySender:
94+
user: aahill
95+
- isActivitySender:
96+
user: laujan
97+
- isActivitySender:
98+
user: patrickfarley
99+
- isActivitySender:
100+
user: jboback
101+
- isActivitySender:
102+
user: heidisteen
103+
- isActivitySender:
104+
user: haileytap
105+
then:
106+
- addReply:
107+
reply: >-
108+
@${issueAuthor} - Please don't sign off on this PR. The area owners will sign off once they've reviewed your contribution.
109+
- mentionUsers:
110+
mentionees:
111+
- eric-urban
112+
- nitinme
113+
- mrbullwinkle
114+
- aahill
115+
- laujan
116+
- patrickfarley
117+
- jboback
118+
- heidisteen
119+
- haileytap
120+
replyTemplate: ${mentionees} - Please review this PR and sign off when you're ready to merge it.
121+
assignMentionees: True # This part probably won't work since the bot doesn't have write perms.
122+
- addLabel:
123+
label: needs-human-review

.whatsnew.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,22 +9,22 @@
99
"navigationOptions": {
1010
"maximumNumberOfArticles": 5,
1111
"tocParentNode": "Latest documentation updates",
12-
"repoTocFolder": "articles/ai-services",
12+
"repoTocFolder": "articles/whats-new",
1313
"indexParentNode": "Latest documentation updates",
14-
"repoIndexFolder": "articles/ai-services"
14+
"repoIndexFolder": "articles/whats-new"
1515
},
1616
"areas": [
1717
{
1818
"names": [ "ai-services" ],
1919
"heading": "Azure AI Services"
2020
},
2121
{
22-
"names": [ "ai-studio" ],
23-
"heading": "Azure AI Foundry"
22+
"names": [ "ai-foundry" ],
23+
"heading": "Azure Foundry"
2424
},
2525
{
2626
"names": [ "machine-learning" ],
27-
"heading": "Azure Machine Learning"
27+
"heading": "Machine Learning"
2828
},
2929
{
3030
"names": [ "search" ],

articles/ai-foundry/.openpublishing.redirection.ai-studio.json

Lines changed: 29 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,25 @@
11
{
22
"redirections": [
3+
{
4+
"source_path_from_root": "/articles/ai-foundry/azure-openai-in-ai-foundry.md",
5+
"redirect_url": "/azure/ai-foundry/azure-openai-in-azure-ai-foundry",
6+
"redirect_document_id": false
7+
},
8+
{
9+
"source_path_from_root": "/articles/ai-foundry/what-is-ai-foundry.md",
10+
"redirect_url": "/azure/ai-foundry/what-is-azure-ai-foundry",
11+
"redirect_document_id": false
12+
},
13+
{
14+
"source_path_from_root": "/articles/ai-foundry/whats-new-ai-foundry.md",
15+
"redirect_url": "/azure/ai-foundry/whats-new-azure-ai-foundry",
16+
"redirect_document_id": false
17+
},
18+
{
19+
"source_path_from_root": "/articles/ai-foundry/concepts/rbac-ai-foundry.md",
20+
"redirect_url": "/azure/ai-foundry/concepts/rbac-azure-ai-foundry",
21+
"redirect_document_id": false
22+
},
323
{
424
"source_path_from_root": "/articles/ai-studio/how-to/access-on-premises-resources.md",
525
"redirect_url": "/azure/ai-foundry/how-to/access-on-premises-resources",
@@ -90,6 +110,11 @@
90110
"redirect_url": "/azure/ai-foundry/how-to/data-add",
91111
"redirect_document_id": true
92112
},
113+
{
114+
"source_path_from_root": "/articles/ai-foundry/model-inference/reference/api-version-updates.md",
115+
"redirect_url": "/rest/api/aifoundry/modelinference",
116+
"redirect_document_id": false
117+
},
93118
{
94119
"source_path_from_root": "/articles/ai-studio/how-to/deploy-models-cohere-command.md",
95120
"redirect_url": "/azure/ai-foundry/how-to/deploy-models-cohere-command",
@@ -644,7 +669,7 @@
644669
},
645670
{
646671
"source_path_from_root": "/articles/ai-studio/concepts/rbac-ai-studio.md",
647-
"redirect_url": "/azure/ai-foundry/concepts/rbac-ai-foundry",
672+
"redirect_url": "/azure/ai-foundry/concepts/rbac-azure-ai-foundry",
648673
"redirect_document_id": true
649674
},
650675
{
@@ -669,7 +694,7 @@
669694
},
670695
{
671696
"source_path_from_root": "/articles/ai-studio/azure-openai-in-ai-studio.md",
672-
"redirect_url": "/azure/ai-foundry/azure-openai-in-ai-foundry",
697+
"redirect_url": "/azure/ai-foundry/azure-openai-in-azure-ai-foundry",
673698
"redirect_document_id": true
674699
},
675700
{
@@ -739,12 +764,12 @@
739764
},
740765
{
741766
"source_path_from_root": "/articles/ai-studio/what-is-ai-studio.md",
742-
"redirect_url": "/azure/ai-foundry/what-is-ai-foundry",
767+
"redirect_url": "/azure/ai-foundry/what-is-azure-ai-foundry",
743768
"redirect_document_id": true
744769
},
745770
{
746771
"source_path_from_root": "/articles/ai-studio/whats-new-ai-studio.md",
747-
"redirect_url": "/azure/ai-foundry/whats-new-ai-foundry",
772+
"redirect_url": "/azure/ai-foundry/whats-new-azure-ai-foundry",
748773
"redirect_document_id": true
749774
},
750775
{

articles/ai-foundry/ai-services/how-to/connect-azure-openai.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,5 +145,5 @@ At some point, you want to develop apps with code. Here are some developer resou
145145

146146
## Related content
147147

148-
- [Azure OpenAI in Azure AI Foundry portal](../../azure-openai-in-ai-foundry.md)
148+
- [Azure OpenAI in Azure AI Foundry portal](../../azure-openai-in-azure-ai-foundry.md)
149149
- [Use Azure AI services resources](./connect-ai-services.md)

articles/ai-foundry/azure-openai-in-ai-foundry.md renamed to articles/ai-foundry/azure-openai-in-azure-ai-foundry.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ If you've been using Azure OpenAI Studio, all your work, such as your deployment
3232

3333
:::image type="content" source="media/azure-openai-in-ai-studio/studio-home.png" alt-text="Screenshot shows the new Azure OpenAI in Azure AI Foundry portal." lightbox="media/azure-openai-in-ai-studio/studio-home.png":::
3434

35-
Use the left navigation area to perform your tasks with Azure OpenAI models:
35+
Use the left pane to perform your tasks with Azure OpenAI models:
3636

3737
* **Select models**: The **Model catalog** houses all the available Azure OpenAI models.
3838

Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
---
2+
title: AI Red Teaming Agent
3+
titleSuffix: Azure AI Foundry
4+
description: This article provides conceptual overview of the AI Red Teaming Agent.
5+
manager: scottpolly
6+
ms.service: azure-ai-foundry
7+
ms.topic: how-to
8+
ms.date: 04/04/2025
9+
ms.reviewer: minthigpen
10+
ms.author: lagayhar
11+
author: lgayhardt
12+
---
13+
14+
# AI Red Teaming Agent (preview)
15+
16+
[!INCLUDE [feature-preview](../includes/feature-preview.md)]
17+
18+
The AI Red Teaming Agent (preview) is a powerful tool designed to help organizations proactively find safety risks associated with generative AI systems during design and development of generative AI models and applications.
19+
20+
Traditional red teaming involves exploiting the cyber kill chain and describes the process by which a system is tested for security vulnerabilities. However, with the rise of generative AI, the term AI red teaming has been coined to describe probing for novel risks (both content safety and security related) that these systems present and refers to simulating the behavior of an adversarial user who is trying to cause your AI system to misbehave in a particular way.
21+
22+
The AI Red Teaming Agent leverages Microsoft's open-source framework for Python Risk Identification Tool's ([PyRIT](https://github.com/Azure/PyRIT)) AI red teaming capabilities along with Azure AI Foundry's [Risk and Safety Evaluations](./evaluation-metrics-built-in.md#risk-and-safety-evaluators) to help you automatically assess safety issues in three ways:
23+
24+
- **Automated scans for content safety risks:** Firstly, you can automatically scan your model and application endpoints for safety risks by simulating adversarial probing.
25+
- **Evaluate probing success:** Next, you can evaluate and score each attack-response pair to generate insightful metrics such as Attack Success Rate (ASR).
26+
- **Reporting and logging** Finally, you can generate a score card of the attack probing techniques and risk categories to help you decide if the system is ready for deployment. Findings can be logged, monitored, and tracked over time directly in Azure AI Foundry, ensuring compliance and continuous risk mitigation.
27+
28+
Together these components (scanning, evaluating, and reporting) help teams understand how AI systems respond to common attacks, ultimately guiding a comprehensive risk management strategy.
29+
30+
## When to use the AI Red Teaming Agent's scans
31+
32+
When thinking about AI-related safety risks developing trustworthy AI systems, Microsoft uses NIST's framework to mitigate risk effectively: Govern, Map, Measure, Manage. We'll focus on the last three parts in relation to the generative AI development lifecycle:
33+
34+
- Map: Identify relevant risks and define your use case.
35+
- Measure: Evaluate risks at scale.
36+
- Manage: Mitigate risks in production and monitor with a plan for incident response.
37+
38+
:::image type="content" source="../media/evaluations/red-teaming-agent/map-measure-mitigate-ai-red-teaming.png" alt-text="Diagram of how to use AI Red Teaming Agent showing proactive to reactive and less costly to more costly." lightbox="../media/evaluations/red-teaming-agent/map-measure-mitigate-ai-red-teaming.png":::
39+
40+
AI Red Teaming Agent can be used to run automated scans and simulate adversarial probing to help accelerate the identification and evaluation of known risks at scale. This helps teams "shift left" from costly reactive incidents to more proactive testing frameworks that can catch issues before deployment. Manual AI red teaming process is time and resource intensive. It relies on the creativity of safety and security expertise to simulate adversarial probing. This process can create a bottleneck for many organizations to accelerate AI adoption. With the AI Red Teaming Agent, organizations can now leverage Microsoft’s deep expertise to scale and accelerate their AI development with Trustworthy AI at the forefront.
41+
42+
We encourage teams to use the AI Red Teaming Agent to run automated scans throughout the design, development, and pre-deployment stage:
43+
44+
- Design: Picking out the safest foundational model on your use case.
45+
- Development: Upgrading models within your application or creating fine-tuned models for your specific application.
46+
- Pre-deployment: Before deploying GenAI applications to productions.
47+
48+
In production, we recommend implementing **safety mitigations** such as [Azure AI Content Safety filters](../../ai-services/content-safety/overview.md) or implementing safety system messages using our [templates](../../ai-services/openai/concepts/safety-system-message-templates.md).
49+
50+
## How AI Red Teaming works
51+
52+
The AI Red Teaming Agent helps automate simulation of adversarial probing of your target AI system. It provides a curated dataset of seed prompts or attack objectives per supported risk categories. These can be used to automate direct adversarial probing. However, direct adversarial probing might be easily caught by existing safety alignments of your model deployment. Applying attack strategies from PyRIT provides an extra conversion that can help to by-pass or subvert the AI system into producing undesirable content.
53+
54+
In the diagram, we can see that a direct ask to your AI system on how to loot a bank triggers a refusal response. However, applying an attack strategy such as flipping all the characters can help trick the model into answering the question.
55+
56+
:::image type="content" source="../media/evaluations/red-teaming-agent/how-ai-red-teaming-works.png" alt-text="Diagram of how AI Red Teaming Agent works." lightbox="../media/evaluations/red-teaming-agent/how-ai-red-teaming-works.png":::
57+
58+
Additionally, the AI Red Teaming Agent provides users with a fine-tuned adversarial large language model dedicated to the task of simulating adversarial attacks and evaluating responses that might have harmful content in them with the Risk and Safety Evaluators. The key metric to assess the risk posture of your AI system is Attack Success Rate (ASR) which calculates the percentage of successful attacks over the number of total attacks.
59+
60+
## Supported risk categories
61+
62+
The following risk categories are supported in the AI Red Teaming Agent from [Risk and Safety Evaluations](./evaluation-metrics-built-in.md#risk-and-safety-evaluators). Only text-based scenarios are supported.
63+
64+
| **Risk category** | **Description** |
65+
|------------------|-----------------|
66+
| **Hateful and Unfair Content** | Hateful and unfair content refers to any language or imagery pertaining to hate toward or unfair representations of individuals and social groups along factors including but not limited to race, ethnicity, nationality, gender, sexual orientation, religion, immigration status, ability, personal appearance, and body size. Unfairness occurs when AI systems treat or represent social groups inequitably, creating or contributing to societal inequities. |
67+
| **Sexual Content** | Sexual content includes language or imagery pertaining to anatomical organs and genitals, romantic relationships, acts portrayed in erotic terms, pregnancy, physical sexual acts (including assault or sexual violence), prostitution, pornography, and sexual abuse. |
68+
| **Violent Content** | Violent content includes language or imagery pertaining to physical actions intended to hurt, injure, damage, or kill someone or something. It also includes descriptions of weapons and guns (and related entities such as manufacturers and associations). |
69+
| **Self-Harm-Related Content** | Self-harm-related content includes language or imagery pertaining to actions intended to hurt, injure, or damage one's body or kill oneself. |
70+
71+
## Supported attack strategies
72+
73+
The following attack strategies are supported in the AI Red Teaming Agent from [PyRIT](https://azure.github.io/PyRIT/index.html):
74+
75+
| **Attack Strategy** | **Description** |
76+
|---------------------|-----------------|
77+
| AnsiAttack | Utilizes ANSI escape sequences to manipulate text appearance and behavior. |
78+
| AsciiArt | Generates visual art using ASCII characters, often used for creative or obfuscation purposes. |
79+
| AsciiSmuggler | Conceals data within ASCII characters, making it harder to detect. |
80+
| Atbash | Implements the Atbash cipher, a simple substitution cipher where each letter is mapped to its reverse. |
81+
| Base64 | Encodes binary data into a text format using Base64, commonly used for data transmission. |
82+
| Binary | Converts text into binary code, representing data in a series of 0s and 1s. |
83+
| Caesar | Applies the Caesar cipher, a substitution cipher that shifts characters by a fixed number of positions. |
84+
| CharacterSpace | Alters text by adding spaces between characters, often used for obfuscation. |
85+
| CharSwap | Swaps characters within text to create variations or obfuscate the original content. |
86+
| Diacritic | Adds diacritical marks to characters, changing their appearance and sometimes their meaning. |
87+
| Flip | Flips characters from front to back, creating a mirrored effect. |
88+
| Leetspeak | Transforms text into Leetspeak, a form of encoding that replaces letters with similar-looking numbers or symbols. |
89+
| Morse | Encodes text into Morse code, using dots and dashes to represent characters. |
90+
| ROT13 | Applies the ROT13 cipher, a simple substitution cipher that shifts characters by 13 positions. |
91+
| SuffixAppend | Appends an adversarial suffix to the prompt |
92+
| StringJoin | Joins multiple strings together, often used for concatenation or obfuscation. |
93+
| UnicodeConfusable | Uses Unicode characters that look similar to standard characters, creating visual confusion. |
94+
| UnicodeSubstitution | Substitutes standard characters with Unicode equivalents, often for obfuscation. |
95+
| Url | Encodes text into URL format |
96+
| Jailbreak | Injects specially crafted prompts to bypass AI safeguards, known as User Injected Prompt Attacks (UPIA). |
97+
| Tense | Changes the tense of text, specifically converting it into past tense. |
98+
99+
## Learn more
100+
101+
Get started with our [documentation on how to run an automated scan for safety risks with the AI Red Teaming Agent](../how-to/develop/run-scans-ai-red-teaming-agent.md).
102+
103+
Learn more about the tools leveraged by the AI Red Teaming Agent.
104+
105+
- [Azure AI Risk and Safety Evaluations](./safety-evaluations-transparency-note.md)
106+
- [PyRIT: Python Risk Identification Tool](https://github.com/Azure/PyRIT)
107+
108+
The most effective strategies for risk assessment we’ve seen leverage automated tools to surface potential risks, which are then analyzed by expert human teams for deeper insights. If your organization is just starting with AI red teaming, we encourage you to explore the resources created by our own AI red team at Microsoft to help you get started.
109+
110+
- [Planning red teaming for large language models (LLMs) and their applications](../../ai-services/openai/concepts/red-teaming.md)
111+
- [Three takeaways from red teaming 100 generative AI products](https://www.microsoft.com/security/blog/2025/01/13/3-takeaways-from-red-teaming-100-generative-ai-products/)
112+
- [Microsoft AI Red Team building future of safer AI](https://www.microsoft.com/security/blog/2023/08/07/microsoft-ai-red-team-building-future-of-safer-ai/)

articles/ai-foundry/concepts/ai-resources.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,5 +129,5 @@ In the Azure portal, you can find resources that correspond to your project in A
129129
## Next steps
130130

131131
- [Quickstart: Analyze images and video in the chat playground](/azure/ai-services/openai/gpt-v-quickstart)
132-
- [Learn more about Azure AI Foundry](../what-is-ai-foundry.md)
132+
- [Learn more about Azure AI Foundry](../what-is-azure-ai-foundry.md)
133133
- [Learn more about projects](../how-to/create-projects.md)

0 commit comments

Comments
 (0)